3.8 Public problem statement
4.1.1 Fundamentals
4.1.1.1 Ontology sources
It is a common mistake for ontology laypersons to consider ontologies to be, among other things, XML documents that follow a particular schema (XSD). In early 2008, two years before this research work began, I was submitted a set of semantically annotated Web Service manifests for review. These were XSD and WSDL 1.1 documents [CCMW01] supposedly annotated in accordance with the SAWSDL standard [FL07]. Although this standard recommends that XML elements in Web Service manifests reference entities described in some semantic model using full URIs or qualified names, the manifests at hand were referencing them using XPath predicates. XPath is a query language used for navigating XML trees [CD99], which meant it could not be used to retrieve knowledge about these entities from ontologies in non-XML formats (e.g. Turtle or Manchester OWL syntax) or with a di↵erent RDF/XML serialization than the one expected. This unorthodox annotation method was a consequence of identifying an ontology with the document it was serialized into. It is a limiting and misleading notion, but it called on us to try to keep this ambiguity under consideration.
The next definition can then be useful for disambiguating a knowledge model and its serialized form.
Definition (ontology source). An ontology source so for an ontology o is an object
so that a resolution function f exists, that can be applied to so in order to produce o.
It is then said that f (so) = o, or so resolves to o, or so is a source for o.
By interpreting the above definition practically, an ontology source can be of any commonly used type of artifact known for storing an ontology, i.e. a file, the out- put of a Web Service, or a named graph in a triple store. Other sources such as a relational database, an RSS feed or a text document, imply more complex resolution functions that involve data reengineering and natural language processing, yet can still be regarded as legal ontology sources. As for the resolution function f , we will not go into detail as to what such functions are, because in Section 3.4 we made the rea- sonable assumption that, for any object we deem interpretable as an ontology, there is the machinery for doing so. Thus the resolution function exists and that object is a valid ontology source. Intuitively, resolution functions can combine syntactic parsers for representation languages, rule execution and so on.
So
:LivingPerson a owl:Class ; rdfs:subClassOf :Person , [ rdf:type owl:Restriction ; owl:onProperty :locatedIn ; owl:someValuesFrom :Place ] . ...o
LivingPerson ⊑ Person ⊓ ∃locatedIn.Place ...f(so)
Figure 4.1: Resolution of an ontology source to an ontology - To the right, an ontology o whose axiom set T says that all living persons are persons and are located in some place. To the left, its source so is an object that encodes one possible way to state
this in Turtle syntax for RDF. A resolution function f , which will involve parsing Turtle syntax and interpreting its statements, can produce o from so.
Note that the above definition does not rule out ontologies written in a native ontology language or in DL syntax, as such native code will have to be stored in some resource which will be the ontology source. To that end, an example is given in Figure 4.1.
Example 1. To the left of Figure 4.1 is an object so, which encodes a list of state-
ments, namely triples of the RDF graph in the Turtle language. According to the triples displayed, :LivingPerson1 is a class that is a subclass of :Person and also a subclass of the anonymous class of all the things :locatedIn some :Place. This is expressed with the aid of RDF resources using the OWL (Class, Restriction, etc.), RDF (type) and RDFS (subClassOf) vocabularies for serializing ontologies as triple collections. There is a function f that, when applied to so, delivers an object o that
is an ontology. Its axioms state that every LivingPerson is a Person and something that is locatedIn a Place (or, more formally, “so that a locatedIn-successor exists in Place”). Therefore so resolves to o via f and is a source for o. Note that so is not the
only possible ontology source for o: aside from possibly being in other representation languages, even the Turtle syntax can allow some degree of liberty. For example, if the
1In Turtle, the colon denotes a blank prefix for the entity that follows, i.e. its IRI belongs to a
4.1 The ontology network model
specification of :LivingPerson as an owl:Class were missing, the result would still be a valid source for o. Likewise, we used native DL syntax for o in order to make its nature as an abstract syntax clear, since this syntax is not very likely to be consumed by programs as it is. We could as well have used OWL directly and represented the ontology using the OWL functional syntax, like this:
SubClassOf(:LivingPerson :Person)
SubClassOf(:LivingPerson ObjectSomeValuesFrom(:locatedIn :Place)) ...
For clarity, we shall henceforth assume that a necessary condition for an object to be an ontology source is that it be a collection of statements, no matter what language they are represented in, whether RDF triples or even sentences in natural language. These statements are then called the raw statements of the ontology source. This distinction is important, as the heart of the problem at hand is how raw statements become axioms in an ontology.
Example 2. Going back to our leading example introduced in Section 1.1.2.1, let us assume CMS user Alice is the one who wants to have her research paper directory classified according to the status of their authors in hheris social network. Suppose the semantic data and models Alice has for representing the social network are spread across three ontology sources so1, so2 and so3 as follows (in Turtle syntax and with no
OWL import statements):
:inNetworkOf a owl:SymmetricProperty . :inExtendedNetworkOf a owl:TransitiveProperty ; rdfs:subPropertyOf :inNetworkOf . :Alice a :Person ; :inExtendedNetworkOf :Bob . :Clara a :Person ; :inExtendedNetworkOf :Bob .
The occurrences of properties :inNetworkOf and :inExtendedNetworkOf, both asserted and inferred, would be those used for populating the directories called friends and friends-of-friends, assuming the exclusion of the former from the latter to avoid repetitions.
If so0 is the source of an ontology that imports so1, so2 and so3, then a non-optimal
yet common f is a function that, once applied to so0 resolves the above into the following
o1, o2 and o3, respectively (in OWL functional syntax):
Declaration(ObjectProperty(:inNetworkOf)) SymmetricObjectProperty(:inNetworkOf) Declaration(ObjectProperty(:inExtendedNetworkOf)) TransitiveObjectProperty(:inExtendedNetworkOf) SubObjectPropertyOf(:inExtendedNetworkOf :inNetworkOf) ClassAssertion(:Person :Alice) ClassAssertion(:Person :Clara)
AnnotationAssertion(:inExtendedNetworkOf :Alice :Bob) AnnotationAssertion(:inExtendedNetworkOf :Clara :Bob)
Note that the usage of :inExtendedNetworkOf in annotation assertions, rather than object property assertions, is the anomaly that would prevent us from inferring that Clara is also in Alice’s extended network, and therefore that Clara’s papers should appear in Alice’s friends-of-friends directory. An optimal f would deliver the following o3:
ClassAssertion(:Person :Alice) ClassAssertion(:Person :Clara)
ObjectPropertyAssertion(:inExtendedNetworkOf :Alice :Bob) ObjectPropertyAssertion(:inExtendedNetworkOf :Clara :Bob)
We have split the axioms for o1, o2 and o3 into three frames in order to preserve
their relationships with their corresponding sources. Note, however, that the axioms in OWL functional syntax represent the final state of the applied resolution function, and these axioms are carried over verbatim to any importing ontology. In the light of this
4.1 The ontology network model
consideration, we will sometimes show the interpreted ontology network as enclosed within a single frame.