Weronika T. Furmańska wtf@agh.edu.pl, Grzegorz J. Nalepa gjn@agh.edu.pl
Description Logics are a family of knowledge representation formalisms. Their underlying idea is to represent the world of interest in terms of concepts, individuals and relations between them. Description Logics are related to semantic networks and frame systems. Contrary to them, thanks to their connection to First Order Logic, they provide a formal semantics and inference services.
Description | DL syntax | FOL syntax | Set algebra |
---|---|---|---|
A man is a male and an adult and a person | ![]() | ![]() | ![]() |
A newspaper is a broadsheet or a tabloid | ![]() | ![]() | ![]() |
Everything a vegetarian eats is not an animal | ![]() | ![]() | ![]() |
EU countries are: Germany, France, …, Poland | ![]() | ![]() | ![]() |
An old lady has only cats | ![]() | ![]() | ![]() |
A dog owner has some dog(s) | ![]() | ![]() | ![]() |
A reasonable man has maximum 1 woman ![]() | ![]() | ![]() | ![]() |
An animal lover has minimun 3 pets | ![]() | ![]() | ![]() |
A kid is the same as a young person | ![]() | ![]() | ![]() |
Every cat is an animal | ![]() | ![]() | ![]() |
Constructor | Syntax | Semantics |
---|---|---|
(atomic concept) | ![]() | ![]() |
(atomic role) | ![]() | ![]() |
(universal concept) | ![]() | ![]() |
(bottom concept) | ![]() | ![]() |
(atomic negation) | ![]() | ![]() |
(intersection) | ![]() | ![]() |
(value restriction) | ![]() | ![]() |
(limited existential quantification) | ![]() | ![]() |
Constructor | Semantics |
---|---|
![]() | ![]() |
![]() | ![]() |
but
OWL Constructor | DL syntax | OWL Axiom | DL syntax | |
---|---|---|---|---|
Thing | ![]() | equivalentClass | ![]() |
|
Nothing | ![]() | suClassOf | ![]() |
|
complementOf | ![]() | equivalentProperty | ![]() |
|
intersectionOf | ![]() | subPropertyOf | ![]() |
|
unionOf | ![]() | inverseOf | ![]() |
|
allValuesFrom | ![]() | transitiveProperty | ![]() |
|
someValuesFrom | ![]() | functionalProperty | ![]() |
|
minCardinality | ![]() | sameIndividualAs | ![]() |
|
maxCardinality | ![]() | differentFrom | ![]() |
|
oneOf | ![]() |
Ontology( Class(pp:male partial) Class(pp:adult partial) Class(pp:elderly partial pp:adult) Class(pp:pet complete restriction(pp:is_pet_of someValuesFrom(owl:Thing))) Class(pp:animal partial restriction(pp:eats someValuesFrom(owl:Thing))) /* Vegetarians do not eat animals or parts of animals */ Class(pp:vegetarian complete intersectionOf(pp:animal restriction(pp:eats allValuesFrom(complementOf(pp:animal))) restriction(pp:eats allValuesFrom(complementOf(restriction(pp:part_of someValuesFrom(pp:animal))))))) DisjointClasses(pp:dog pp:cat) ObjectProperty(pp:eaten_by) ObjectProperty(pp:eats inverseOf(pp:eaten_by) domain(pp:animal)) SubPropertyOf(pp:has_pet pp:likes) Individual(pp:Tom type(owl:Thing)) Individual(pp:Tibbs type(pp:cat))
rdfs:subClassOf
)<owl:Class> <owl:intersectionOf rdf:parseType="collection"> <owl:Class rdf:about="#Person"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:toClass> <owl:unionOf rdf:parseType="collection"> <owl:Class rdf:about="#Doctor"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:hasClass rdf:resource="#Doctor"/> </owl:Restriction> </owl:unionOf> </owl:toClass> </owl:Restriction> </owl:intersectionOf> </owl:Class>