Table of Contents |
---|
Use Cases for SHACL
- Constraints validation (required by BI, Amgen)
- Template for the graphical user interface (GUI (; required by Bayer)
For those two use cases, in some cases, there is a slight difference in the SHACL constraints in some cases. Namely Specifically, for the GUI usageuse case,
- there are certain transformation shortcuts required, e.g., to drop name instances
- some attributes need to be either sorted or filtered out, e.g., preferred names.
For now, we just focus on use case 1.
Next steps:
- Set up the technical infrastructure for HSACL generation based on the a couple of basic examples. Pawel Garbacz the the first 3 rows from the table that are clear
Open topics to clarify before the generation can start
- Review/finalize the table
- Mapping of owl:hasValue → RESOLVED, as in the table
- mapping of OWL domain and range to SHACL - RESOLVED, as in the table
- Open vs closed world assumptions
- Portion of Water - Thomas checks with Elisa
- Untyped nodes - resources that do not have rdf:type
Automation Design
Drawio border true diagramName SHACL simpleViewer false width links auto tbstyle top lbox true diagramWidth 521 revision 1
...
- All SHACL shapes are based on OWL restrictions that are superclasses of (named) classes - see the list of those in - scope below.
- All SHACL shapes are defined only for on leaf-classes, i.e., classes without subclasses.
- Inherited constraints, i.e., constraints that can be inferred from superclasses, are dropped.
We assume sh:closed=False.
- In the context of
, the agreement was reached that we should categorize constructs that can be generated straightforwardly and the complex ones that require manual intervention. The two categories should then be maintained separately in the Git repository and used combined.Jira Legacy server jira.edmcouncil.org columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 6465cde0-d6c9-34a0-a506-4d4ac3461fe5 key IDMP-526
...
Some cases are not displayed here, e.g., for the owl:allValuesFrom when B is rdfs:Literal.
Open vs closed world assumptions
OWL differs from SHACL also with respect to the assumption regarding the implication of a statement being absent:
...
Pawel Garbacz believes that translation from OWL to SHACL needs to adopt the target assumption, i.e. the closed-world assumption. This assumption will affect only the OWL existential statements - in order to mitigate its impact we may assume that violations of such constraints will be sh:Warning.
Constraints inheritance
If an ontology contains the following OWL axioms:
...
Then axiom 2 will not be shaclised because it is inferable from axiom 1.
Constraints Relaxation
If an ontology contains the following OWL axioms:
...
SomeRBPropertyShape a sh:PropertyShape;
sh:path R; sh:class B; sh:minCount 1.
SomeinverseOfRBPropertyShape a sh:PropertyShape;
sh:path [inverseOf R]; sh:class B; sh:minCount 1.
ANodeShape a sh:NodeShape;
sh:property sh:or (SomeRBPropertyShape SomeinverseOfRBPropertyShape).
Exemplary outputs
SHACL Shapes #1
Scope:
- ISO11238-Substances
- A rdfs:subClassOf some R B
...