OWL and SHACL ownership restrictions

Given the choice between OWL and SHACL Ownership Constraints , is there any reason to choose the OWL approach?

Particularly in regards to power limits, I'm wondering if SHACL counts as an execution of OWL. The syntax seems to be similar to my random check.

I'm probably missing the OWL power limiting goal. Within the ontology, they should facilitate inference (a separate concern for validation). But how do power limits make withdrawal easier?

+6


source to share


2 answers


The differences between OWL and SHACL are shown in the table below.

|               OWL                  |              SHACL                |
|------------------------------------|-----------------------------------|
| Based on open world assumption     | Based on closed world assumption  |
|------------------------------------|-----------------------------------|
| Designed for inferencing           | Designed for validation           |
|------------------------------------|-----------------------------------|
| Computationally cheap              | ?                                 |
| (typical problems are decidable)   | ?                                 |
|------------------------------------|-----------------------------------|
| A lot of inferences                | One have to define a lot          |
| almost "out of the box"            | of ad-hoc constraints manually    |
|------------------------------------|-----------------------------------|
| Is useful as documentation for RDF |                                   |

      

As far as the power limits in OWL are concerned, in some cases these limits allow, in some respects, to close the world in order to obtain additional conclusions.

The logic of power limits in OWL and SHACL is the opposite. Unofficially:

  • IN SHUCKLE,

    ex:PersonShape a sh:NodeShape; sh:targetClass ex:Person; sh:path ex:parent; sh:minCount 1.

    means that if someone is a person, then he must have at least one parent.

  • In an owl,

    ex:Person owl:equivalentClass [ rdf:type owl:Restriction; owl:onProperty ex:parent; owl:minCardinality "1" ].

    means that if someone has at least one parent, then he or she is human.




From TopBraid marketing materials :

How is SHACL different from RDF Schema and OWL?RDFS and OWL were designed for an "open world" in which data can be collected from many places in the Semantic Web. This design goal has been frustrating over the years because it has prevented even the most obvious integrity constraints from being tested, such as whether a property has a certain number of values. In contrast, SHACL assumes a "closed world" that meets the expectations of typical business users. In addition, OWL was optimized for a certain type of classification problem, but it could not be used to perform routine data validation operations such as math or text operations. SHACL is much more expressive. It then easily integrates with SPARQL to express near arbitrary conditions. By the way,it is perfectly normal to gradually extend the RDFS or OWL model with SHACL statements, supporting both worlds.

See also: http://spinrdf.org/shacl-and-owl.html

+10


source


In my experience, most OWL users didn't really understand or care about the actual semantics of OWL (open world assumption, etc.). In many cases, OWL power limits were used as there was no alternative. However, as stated elsewhere, the semantics of owl: maxCardinality 1 is in the opposite direction from what most people expect: meaning that if a property has two values, then those values ​​are considered the same (owl: sameAs). In SHACL sh: maxCount 1 means that if a property has two values, one of them must be removed.



The main reasons for continuing to use OWL in favor of SHACL are because OWL has a longer history (i.e. more tools, reusable ontologies and examples) and in case you want to use OWL (DL). But if you want traditional closed semantics, use SHACL. Note that SHACL and OWL can be mixed, for example, define classes and properties in one file and then define OWL constraints in another file and SHACL constraints in another file.

+7


source







All Articles