Lab: OWL-DL
Topics
- OWL ontology editing in Protégé.
- Manchester-OWL syntax
- HermiT reasoning.
Useful materials
Readings:
- Protégé 5 Documentation
- OWL2 Primer (from S08): Show Manchester Syntax
Protégé:
Vocabularies and terms (from S09 and same as previous week) - this is for reference: you will not need them all :-):
- Friend of a Friend (FOAF) (if necessary follow the link to the 2004 version)
- Event Ontology (event)
- Time ontology in OWL (time, OWL-time)
- geo: World Geodetic Standard (WGS) 84
- Dublin Core (DC)
- SKOS - Simple Knowledge Organization System Home Page
- Semantic Interlinked Online Communities (SIOC)
Classes and methods
RDF:
- type
RDFS:
- subClassOf, subPropertyOf, domain, range
Basic OWL:
- sameAs, equivalentClass, equivalentProperty, differentFrom, disjointWith, inverseOf
- ReflexiveProperty, IrreflexiveProperty, SymmetricProperty, AsymmetricProperty, TransitiveProperty, FunctionalProperty, InverseFunctionalProperty
Complex OWL:
- oneOf, unionOf, intersectionOf. complementOf
- Restriction, onProperty
- someValuesFrom, allValuesFrom, hasValue
- cardinality, minCardinality, maxCardinality
- qualifiedCardinality, minQualifiedCardinality, maxQualifiedCardinality, onClass
Tasks
Continue extending the InvestigationOntology from the previous exercise.
Task. Add individuals to represent that:
- Robert Mueller lead the Mueller Investigation.
- Paul Manafort was indicted.
- Elizabeth Prelogar was an investigator.
Task. Start the reasoner again. Does it add more axioms/triples (marked in yellow) to the ontology?
Task. Can you do a change that makes your ontology inconsistent? (Save often, so you always have a consistent version to revert to :-))
Tip: You can declare two classes as owl:disjointWith one another and set both classes as the rdf:type of some individual.
Task. Make sure that your ontology contains
- a property for stating that a person is involved in an investigation and
- a subproperty for stating that a person is leading an investigation.
Create instances for Robert Mueller and for the Mueller Investigation. Assert that Robert Mueller is leading the Mueller Investigation, but not that he is involved in it.
Go to the Reasoner menu and choose the HermiT reasoner. Use Reasoner -> Start reasoner. Afterwards, check that Robert Mueller is now also leading the Mueller Investigation.
Task. Make sure that your ontology also contains
- classes for representing investigators and investigation leaders
Add an axiom to the investigation leader class to make sure that every investigator that is leading and investigation is an investigation leader. If you have asserted that Robert Mueller is an investigation leader, remove the assertion. Re-run the HermiT reasoner, and check that Robert Mueller is now an investigation leader,
Task. Use Manchester-OWL syntax to define the class:
- InvestigationTeam, which is a foaf:Group with at least one members, so that all its members are Investigators.
If you have more time
TBD.