-
Notifications
You must be signed in to change notification settings - Fork 6
SADL Feature Coverage
SemTK was designed for, and is primarily used with ontologies built with SADL, which is documented and available for download at sadl.sourceforge.net.
SemTK makes a more stark differentiation between ontology and instance data. A SemTK connection specifies different graphs for each. The ontology is loaded only from the model graphs, while queries are run against all graphs. SemTK ingestions uses the ontology from the model graphs and ingests data to the first data graph.
In typical use, ontology files are uploaded as owl to the model graph(s) and data is ingested using SemTK. However, this does not necessarily need to be the case as:
- OWL files created by SADL and containing instance data may be uploaded to a graph
- A SemTK connection may use the same graph for ontology and data
- OWL files created by SADL which contain a mix of ontology and instance data may be uploaded to any graph (Note SemTK will not find ontology triples which are not in a model graph)
Overview of how restrictions are handled by SemTK:
query | ingestion | report | |
---|---|---|---|
cardinality | x | ||
range | x | x | |
datatype | x | x |
SemTK supports cardinality restrictions via the reports mechanism. Cardinality restrictions can be checked at any time by running a report containing a cardinality checker, documented here. Cardinality is not relevant to queries, and is not enforced during ingestion. Cardinality.sadl demonstrates the SADL statements supported and tested by SemTK.
Range restrictions and complex ranges are enforced at all stages of SemTK querying and ingestion. RangeTest.sadl demonstrates the SADL statements supported and tested by SemTK.
Datatype restrictions are enforced at all stages of SemTK querying and ingestion. datatypetest.sadl demonstrates the SADL statements supported and tested by SemTK.
These are some known limits to SemTK support of SADL features.
Datatypes must be named. In-line restrictions are not supported by SemTK. (It is not clear whether they are supported by SADL3).
SemTK and SADL may use slightly different inference to combine range restrictions with owl:subPropertyOf. This could result in a mismatch between what nodegroups SemTK allows to be built vs what appears legal in SADL when range restrictions are inherited from super-properties. The best mitigation is to expressedly declare range restrictions in sub-properties.
SemTK is known to not yet support these SADL features:
- typed lists