Henriette's Notes

Home » 2017 » September (Page 2)

Monthly Archives: September 2017

Add Some More Attributes

Person with added attributes

 

In this post what I want to do is add some attributes to the Person class of the previous post. The important thing to understand is that as you add attributes to a class, what you are doing in effect is adding additional constraints that will cause the number of objects that can be of that type to shrink. This is illustrated in the Venn diagram below. Note that our Person class is now a subset of the intersection of the sets of objects with name as attribute, surname as attribute and age as attribute.

 

Person with more attributes subset

 

If we now consider the OWL 2 representation of this class in Manchester syntax, it matches our Venn diagram exactly. It further states that name, surname and age are properties. It states that individuals of the Person class have a name property of type xsd:string, a surname property of type xsd:string and a age property of type xsd:integer.

 

Add some attributes OWL

A Simple Class

A Simple Class

Let us start with a simple example. Assume we have a Person class, which models a person that has a name. Let us just think about what this means. If we think of our domain of interest and we list all the objects of the domain, some objects will belong to a set that is a subset of the domain of interest, which is called the Person set, which is represented by our Person class. Our Person class also has a name attribute of type String, but it is likely that we will have other classes in our domain that may have a name attribute of type String. Thus, the Person class represents objects that are a subset of all the objects in the domain that have a name attribute of type String. This is shown in the Venn diagram below.

Person Subset

 

Note that the Person class is not necessarily a strict subset of the objects that have a name attribute of type String. It is possible that the Person class is the only class in our domain that has a name attribute of type String, in which case these two sets are in fact equal.

The OWL 2 equivalent representation in Manchester syntax is given in the image below. Note that for the name attribute in the UML class we have defined a related DataProperty. Furthermore, a Person class is also defined, which is defined as SubClassOf: name some xsd:string. What this means is that individuals that belongs to the Person class also belongs to the class of individuals that have a name property of type xsd:string. Thus, the Person class is a subclass of the class representing individuals that have a name property of type xsd:string.

Person Manchester

The Correspondence between DLs/OWL and OO

The analogy between DLs and object-orientation can be observed when it is considered that the basic task in constructing an ontology is classification. Explicit subsumption relationships between concepts can be defined in the TBox. In object-orientation this can be achieved by definition of an inheritance hierarchy between classes. Classification is further solidified as the basis of DLs in that the core reasoning capabilities they provide are subsumption and instance checking. Subsumption computes a subsumption hierarchy, which essentially categorizes concepts into superconcept/subconcept relationships. Instance checking verifies whether a given individual is an instance of a specific concept [1].

In object-orientation the domain of interest is described in terms of classes that have properties, which are defined via attributes and/or associations. Classes in essence have a set-theoretic semantics, i.e. a class represents a set of objects in the domain of interest which shares attributes. Objects that are classified by a class are called instances of the class. The analogy with DLs is that classes, attributes/associations and instances (or sometimes called objects) correspond respectively with concepts, roles and individuals in DLs, which in OWL corresponds respectively to classes, properties and individuals.

This correspondence between object orientation, DLs and OWL 2 is summarized in the table below.

Object orientation DLs OWL 2
Class Concept Class
Attribute/association Role Property
Object Individual Individual

Bibliography

[1] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi and P. F. Patel-Schneider, The Description Logic Handbook: Theory, Implementation and Applications, Cambridge University Press, 2007.