Knowledge Representation Part VIIc OWL verses UML Jan Pettersen Nytun, UiA 1
S O P [1]: “The languages were devised to fulfill different purposes. While OWL supports the representation of knowledge about a system, UML was developed primarily to support the construction of a (software) system .” Jan Pettersen Nytun, UiA, page 2
S Open-World versus Closed-World O P Interpretation Assumptions [1]: “The UML is oriented towards data modeling and system construction … knowledge is implicitly viewed as being complete . OWL, in contrast, interprets models as potentially representing partial knowledge . ” Jan Pettersen Nytun, UiA, page 3
S O [1] Unique Name Assumption & P Synonyms • OWL allows the definition of synonyms for classes, properties and individual descriptions. • UML assumes that every name has a unique interpretation, i.e., the unique name assumption. Jan Pettersen Nytun, UiA, page 4
S [1] Sufficient Conditions & O P Defined vs. Primitive Concepts • One of the purposes of OWL ontologies is to facilitate automatic classification. • The UML does not provide native assistance in the definition of sufficient conditions or defined classes. Jan Pettersen Nytun, UiA, page 5
S UML OWL O P * employedAt Person Institution 1 employee name : String name : String Jan Pettersen Nytun, UiA, page 6
S In UML a class is a namespace by Person Institution O P itself. name : String name : String I.e., property name in class Person and property name in class Institution are different entities. Properties in OWL are globally scoped. Why is the following not a good idea? Jan Pettersen Nytun, UiA, page 7
S O P Person hasPersonName : String Simulate the namespace of the class by using class name as prefix. Jan Pettersen Nytun, UiA, page 8
S Multiplicity of hasPersonName Person O P is by default one. hasPersonName : String :Person rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :hasPersonName ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onDataRange xsd:string ] . Jan Pettersen Nytun, UiA, page 9
S O P Starting the reasoner – what is inferred? Jan Pettersen Nytun, UiA, page 10
S O P Jan Pettersen Nytun, UiA, page 11
S O P Remove Person as Domain and run reasoner – what is inferred? Jan Pettersen Nytun, UiA, page 12
S O P Nothing is inferred! Jan Pettersen Nytun, UiA, page 13
S O P Make Person a defined class. Run reasoner – what is inferred? Jan Pettersen Nytun, UiA, page 14
S O P We have an individual with one hasPersonName property specified. But still this individual is not classified as a Person - why? Jan Pettersen Nytun, UiA, page 15
S O P • OWL makes the open world assumption. • In our example this means: There may be more hasPersonName properties for our individual. Jan Pettersen Nytun, UiA, page 16
S O P • It is possible to specify that the individual has only "Jan Pettersen"^^xsd:string as value for property hasPersonName . Inferred by reasoner Jan Pettersen Nytun, UiA, page 17
S O P Better solution: Jan Pettersen Nytun, UiA, Ontologies, page 18
S UML OWL O P employedAt * Person Institution 1 employee name : String name : String “unique naming” personIsEmployed- * AtInstitution Person Institution 1 institutionHas- name : String name : String EmployedPerson Jan Pettersen Nytun, UiA, page 19
S O P Jan Pettersen Nytun, UiA, page 20
S O P Jan Pettersen Nytun, UiA, Ontologies, page 21
S References O P [1] A Detailed Comparison of UML and OWL, Kilian Kiko & Colin Atkinson, https://ub-madoc.bib.uni-mannheim.de/1898/1/TR2008_004.pdf Jan Pettersen Nytun, UiA, Propositional Calculus, page 22
Recommend
More recommend