diff --git a/docs/index.md b/docs/index.md index 6a51b51..cd5bbb4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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! diff --git a/docs/motivation.md b/docs/motivation.md index a1ec4e5..1f985e1 100644 --- a/docs/motivation.md +++ b/docs/motivation.md @@ -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 @@ -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. diff --git a/docs/schema-rules.md b/docs/schema-rules.md index 6895854..a74ffcf 100644 --- a/docs/schema-rules.md +++ b/docs/schema-rules.md @@ -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). diff --git a/docs/translations.md b/docs/translations.md index 927c03b..4aa8704 100644 --- a/docs/translations.md +++ b/docs/translations.md @@ -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 ``` @@ -157,7 +156,6 @@ Example: ```yaml ancestor_of: - is_a: person_to_person_related_to annotations: transitive_closure_of: parent_of ``` diff --git a/mkdocs.yml b/mkdocs.yml index 6c45ee4..5ae0730 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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