From bf1e265fe822073e630a3417491b11f4e4cea989 Mon Sep 17 00:00:00 2001 From: cmungall <cjm@berkeleybop.org> Date: Fri, 28 Jan 2022 19:25:11 -0800 Subject: [PATCH] docs --- docs/index.md | 9 ++++----- docs/motivation.md | 13 +++++++++++-- docs/schema-rules.md | 5 ++++- docs/translations.md | 2 -- mkdocs.yml | 5 +++++ 5 files changed, 24 insertions(+), 10 deletions(-) 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 + + +## 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