Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Semantic Web, Part 3: From Model to Database

...

  • Part 1 covered the standards RDF and OWL, class hierarchies, taxonomies, data and object properties with their constraints and semantic metadata, individuals (the actual objects in a semantic graph database), reasoners that ensure data consistency, and inference that enables logical conclusions and thus machine learning [1].

  • Part 2 introduced practical work with ontologies, i.e., creating a semantic data model using the ProtĂ©gĂ© software [2]. It demonstrated how to manage classes, properties, individuals, and annotations with ProtĂ©gĂ©, implement schemas and classifications, use restrictions and the reasoner, and import and export models.

...

Protégé is a highly mature and one of the most frequently used free tools for modeling ontologies. Maintained by Stanford University, it is freely available on their website [3](https://protege.stanford.edu ). The software has established itself as a modeling tool whose generated models in various formats are supported by all W3C-compliant semantic databases.

...

It's important to know that both Range and Domain axioms (see [2]) have a global effect when defined directly for properties, with corresponding implications for the ontology.

[Example of global axioms and their effects]

For generic properties with a general character, one should be cautious with Domain axioms to avoid later surprises through unexpected class assignments. A good practice is to use axioms as a tool for automatic classification of individuals - Range axioms for classifying objects and Domain axioms for classifying subjects - and not for validation or as (type) constraints.

...

The next step after creating taxonomy, data, and object properties is specifying individual classes with their respective properties and constraints.

[Explanation of classification in ontologies vs. traditional schemas]

Specifying Classes and Properties

...

With classes and their restrictions set up, it's time to create individuals, the actual data records in the ontology. In Protégé, switch to the "Individuals by class" tab and the "Direct Instances" area at the bottom left. It shows all existing individuals of the selected class, as shown in Image 4 for the Product class.

...

Note that in the dotnetpro “dotnetpro” example ontology for this article [5](https://github.com/innotrade/enapso-dotnetpro ), all products are labeled, and the ProtĂ©gĂ© renderer displays these labels in the screenshot. Hovering the mouse over an item shows its full IRI in the tooltip.

...

Protégé is a mature tool for modeling ontologies and an indispensable assistant in creating and maintaining W3C-compliant semantic data models and ontologies. It offers useful functions for managing classes, taxonomies, properties, and constraints in a developer-friendly and configurable UI, without having to worry about the underlying RDF, RDFS, and OWL triples and their diverse representations in various file formats.

The next article in this series will show how to set up and operate a semantic graph database, as well as how to comfortably manage data and knowledge in it and make it available for applications. Stay tuned!

References

[1] Alexander Schulze, Working with Knowledge Instead of Data, Semantic Web Part 1, dotnetpro 4/2020, page 78 ff., http://www.dotnetpro.de/A2004Semantik
[2] Alexander Schulze, The Model Comes First, Semantic Web Part 2, dotnetpro 5/2020, page 96 ff., http://www.dotnetpro.de/A2005Semantik
[3] Protégé, https://protege.stanford.edu
[4] Wikipedia, SHACL, http://www.dotnetpro.de/SL2006Semantik1
[5] GitHub Enapso dotnetpro Repository, http://www.dotnetpro.de/SL2006Semantik2