TopQuadrant
On-Demand Webinar

OWL vs. SHACL - Is the Great Semantic Modeling Debate Over?

Question & answer from the live webinar
  • Is there anything OWL can do that SHACL can’t do? Consider this example: every person has a birthdate, but not every birthdate is known. Why not use null instantiation to simulate the open world?
    • SHACL 1.2 will include inferencing, but it will be rule-based, while (I think) OWL DL has features that cannot be expressed in rules. In terms of expressiveness, some OWL constructs don't directly exist in SHACL (e.g. rdfs:subPropertyOf) but I believe they can be covered by custom rules.
    • There's a semantic difference between knowing a property is empty/has no value (null instantiation) and being unknown. I might not know Queen Elizabeth II's date of death but I do know it's not empty. Unlike my own. I think there is room for distinct representations for such nuances.

  • If I want to use OWL as a modeling language in a project, I can use tools like Protege and gra.fo to build and review my models. Is there a similar tool, or maybe a plugin, for SHACL? What are some of the distinctive needs for SHACL modeling that make it differ from OWL modeling?
    • Plugin: TopBraid EDG, OntoPad, Metaphactory (blends both I recall)
  • OWL and SHACL overlap in their capabilities to some extent, but there are important aspects they do not. Just because you can do something using OWL or SHACL doesn't mean you should. For example, you can enforce a local closed world in OWL by stating that certain things hold, and only these things hold (for example, a Person can only be a Man or a Woman, and nothing else). Moreover, by using OWL reasoning services, you can validate incoming data: invalid data would trigger inconsistencies. Is this a good way to do things? Not at all! SHACL is clearly superior for this purpose. On the other hand, you can use SHACL as an ontology language, but you have no support to debug your SHACL ontology. How can I verify the satisfiability and logical consequences of my ontology in SHACL? You can't!
    • Why couldn't you check satisfiability on a SHACL ontology? Only because this hasn't been a major research topic (like with OWL) doesn't mean that it's not possible. For example there can be algorithms that create instances based on the shapes and make sure that all constraints are fulfilled. 
  • It seems to me that not using OWL at all is a serious mistake. It is common to assume that the ontology your are building is always going to be useful to your organization, let's call it A. But real-world reality in IM is that information is continually changing; businesses change due to mergers, acquisitions, regulations and laws, opening/closing of locations, and new business development. One must assume, always, that the data your are modeling may belong to someone else at some point, or need to be used by parties unknown at some point; new partners, new domains, new block- or supply chains. The point of OWL is to create a basic language that all data sharers can rely on to increase the accuracy of the public body of knowledge. How can you ensure SHACL will protect your information in the cases I have described?
    • I see no difference as you state. Either with SHACL or OWL you can define classes and properties, and those may be general, reusable, modifiable etc. SHACL even has greater flexibility because it isn't limited to classes but also has a more general concept of Shapes. If information is continuously changing, you'd need to adjust both OWL or SHACL ontologies. You can also use SHACL to define universally agreeable definitions of terms. But I guess this is a larger topic that should be handled in a dialog, not a one-off question and response.
  • Can you dive a bit deeper into what you mean by defining conceptual models in OWL? To what depth does this go in terms of what owl resources are used, owl:Class, owl:*Properties, owl:Restrictions, and so on. And on top of that, what can OWL do that SHACL can't from a conceptual perspective?
    • What is meant is the modeling of concepts that we use in defining our data models. For example, we may want to assert that every company is or has exactly one ultimate parent company even if the ultimate parent of every company is missing in the company data that we have. SHACL does not allow me to make that truthful assertion because the CWA implies that it is false given the state of my data. But, yes, the whole vocabulary of OWL is relevant to doing that conceptual modeling. That is really the key to what the important differences are, but it also offers important inferential functionality that is lacking in SHACL, but not sure whether that is what is meant by "a conceptual perspective".
  • I hear owl vs SHACL, but I have not heard much points for OWL that could not be handled by SKOS, except perhaps extremely specific reasoning cases. A lot of tooling exists for SKOS-based vocabularies. What does OWL add to these skos vocabularies that SHACL can't do better (and then be used later on when you start actually interacting with instances that you want to be correct)?
    • OWL is designed for a very different set of use case than SKOS, which is really designed for taxonomy creation. Ontologies allow us to articulate and capture complex relationships across entity types and characterize the nature of the relationships between them with a lot more sophistication and simplicity.
  • Is there any open source tooling for turning SHACL -> API's? I am familiar with a owl -> Open API spec tool, but would love to use SHACL instead for that so I don't need to duplicate my data model.

Ready for a personalized demo?

More Than Just Taxonomy Management

TopBraid EDG simplifies your workflows, integrates effortlessly, and scales with your needs.

TopBraidEDG: Built for Comprehensive Data Management

Comprehensive Capabilities

Manage taxonomies, metadata, ontologies, and more—all in one platform

Seamless Integration

Connect with your existing systems effortlessly

Scalable Performance

Handle large datasets and complex workflows with ease

Enhanced AI Integration

Leverage AI-driven insights for smarter decision-making

Ready for a Better Taxonomy Solution?