Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
cmungall committed Jan 29, 2022
1 parent 8c841e0 commit bf1e265
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 10 deletions.
9 changes: 4 additions & 5 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
Validation and inference over LinkML instance data using souffle


![souffle logo](https://souffle-lang.github.io/img/logo-2x.png)
![linkml logo](https://avatars.githubusercontent.com/u/79337873?s=200&v=4)

## Caveats


## Background

See [#196](https://github.com/linkml/linkml/discussions/196)

This is currently experimental/alpha software!
13 changes: 11 additions & 2 deletions docs/motivation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ In fact the core linkml library already has wrappers for these. See [working wit

However, jsonschema in particular offers very limited expressivity. There are many more opportunities for expressivity with linkml.

In particular, LinkML 1.2 introduces autoclassification rules, conditional logic, and complex expressions -- THESE ARE NOT TRANSLATED YET, but they will be in future.
In particular, LinkML 1.2 introduces autoclassification rules, conditional logic, and complex expressions -- **THESE ARE NOT TRANSLATED YET**, but they will be in future.

For now there are three ways to get expressive logical rules in:

1. Using existing metamodel logical slots
2. Using dedicated *annotations* -- these may become bona fide metamodel slots in the futur
2. Using dedicated *annotations* -- these may become bona fide metamodel slots in the future
3. including rules in the header of your schema

## Use Cases
Expand All @@ -38,3 +38,12 @@ See more:
### Annotation QC

Many annotation systems have QC rules TODO

### Templated ontology generation

See [linkml-owl](https://linkml.io/linkml-owl)

When generating OWL ontologies from data we often want to perform
inference over the input data, to check for consistency, and
conformance to rules about structure. This is typically different from
the axioms we use over the compiled OWL ontology.
5 changes: 4 additions & 1 deletion docs/schema-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ For now, you can also include your own rules in the header of your schema as an

E.g. see tests/inputs/personinfo.yaml, which has this as a schema-level annotation:

```prolog
```yaml
id: https://w3id.org/linkml/examples/personinfo

annotations:
datalog: |-
grandparent_of(i, j) :-
parent_of(i, z),
parent_of(z, j).
Expand Down
2 changes: 0 additions & 2 deletions docs/translations.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ Slots can be declared as [inverses](https://w3id.org/linkml/inverse):

```yaml
sibling_of:
is_a: person_to_person_related_to
inverse: sibling_of
```
Expand Down Expand Up @@ -157,7 +156,6 @@ Example:

```yaml
ancestor_of:
is_a: person_to_person_related_to
annotations:
transitive_closure_of: parent_of
```
Expand Down
5 changes: 5 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ theme:
name: material
analytics:
gtag: G-2SYBSJVZ23
palette:
scheme: slate
primary: cyan
plugins:
- search
nav:
- Introduction: index.md
- Installation: install.md
Expand Down

0 comments on commit bf1e265

Please sign in to comment.