OWLlink Extension:
Told Data Access

Working Draft October 2008

This version:
http://www.owllink.org/ext/told-access-20081001/
Latest version:
http://www.owllink.org/ext/told-access/
Authors:
Thorsten Liebig, Ulm University
Contributors:
Marko Luther, DOCOMO Euro-Labs Munich
Olaf Noppens, Ulm University
Timo Weithöner, Ulm University

Abstract

This is an extension for retrieving told OWL 2 axioms from a KB managed by an OWLlink server. This specification defines a set of canned told queries as well as their responses on a structural level. The accompanying HTTP/XML binding with this specification provides their concrete syntax as well as a characterization of the told queries in terms of XML Path Language [XPath 1.0] expressions over the [OWL 2 XML Serialization].

Status of this Document

May Be Superseded

This version of the OWLlink structural specification refers to the public OWL 2 working draft as of April 11th 2008 (http://www.w3.org/TR/2008/WD-owl2-syntax-20080411/) and will soon be superseded by an updated specification in order to align with the latest OWL 2 working draft or recommendation.

This document is being published as one of a set of 2 documents:

  1. Told Data Access Structural Specification (this document)
  2. Told Data Access HTTP/XML Binding

Please Comment

The OWLlink Working Group seeks public feedback on these Working Drafts. Please send your comments to public-comments@owllink.org or post to the public discussion forum at http://www.owllink.org/forum/.


Contents


1 Introduction

Having access to previously told data of an OWLlink server allows to distinguish between explicitly given and inferred axioms. This is of importance for applications where some kind of non-standard reasoning on client-side needs to be done, for instance. Actual examples are black-box debugging of KBs, explaining of reasoning services or computing the least common subsumer. Other potential applications of told data access are statistical analyses, rollback mechanisms, or components which compile or render portions of a KB according to certain needs. Furthermore, since annotations are relevant parts of axioms with respect to their structural equivalence, access to told data is needed to distinguish semantically equivalent but structurally different axioms.

2 Told Data

The told data of a KB is defined as the set of successfully received axioms by the hosting OWLlink server since creation of the KB under the notion of structural equivalence. More precisely, adding an axiom that is structural equivalent to an already contained one does not change this set. Subsequent axioms are added to this set as well as retraction of axioms will remove them from the set.

In case the OWLlink server ignores annotations (cf. Section 3.3 of the [OWLlink Structural Specification]) they will be not part of told data. Furthermore within a told-aware OWLlink server axioms are preserved as they are. They are neither pre-processed (e.g. absorbed) nor syntactically transformed and remain as structurally given and may vary only in formatting such as white spaces or indentation. Obviously, any kind of entailments (if not explicitly asserted) are not part of told data.

In addition, the told data repository has to meet the following criteria:

3 Accessing Told Data

3.1 Entity Queries

The very basic set of important queries with respect to told data, namely the queries for retrieving the previously introduced KB entities, are already part of the asks provided with the OWLlink core. A description of those queries for retrieving the named entities (GetAllClasses, GetAllObjectProperties, GetAllDataProperties, GetAllDatatypes, GetAllIndividuals, and GetAllAnnotationProperties) is found in Section 5.1 of the [OWLlink Structural Specification].

3.2 Class Queries

The query GetClassAxioms provides access to the told class axioms with respect to a ox.Description. Note that the latter can be an OWLClass since ox.OWLClass is a specialization of the former. This query returns a ToldClassAxioms response with all previously told class axioms, namely ox.SubClassOf, ox.EquivalentClasses, ox.DisjointClasses, and ox.DisjointUnion which refer to the provided description under the following conditions:

The request and its corresponding ToldClassAxioms response for the first three class axioms is depicted in Figure 1.

Query about the class axioms of a named OWLClass
Figure 1. Query about the class axioms of a given class description (part 1)

Figure 2 shows the response with respect to the ox.DisjointUnion axiom of the GetClassAxioms request. Here the description to be defined has to be an ox.OWLClass according to the OWL 2 specification.

Query about the class axioms of a named OWLClass
Figure 2. Query about the class axioms of given class description (part 2)

Note that the response to a GetClassAxioms is not exclusive with respect to an supplied ox.Description. This means, that one and the same ox.EquivalentClasses and ox.DisjointClasses axioms may be in the set of results of different descriptions given in different GetClassAxioms requests.

The ox.Description argument to GetClassAxioms is optional. Without providing this argument the request retrieves all class axioms of a KB.

In order to retrieve an (often interesting) subset of the KB class axioms, the so called general class axioms (GCI's), the GetAllGeneralClassAxioms can be used. This query returns all class axioms of type ox.SubClassOf, ox.EquivalentClasses, and ox.DisjointClasses which do not refer to any of the named classes of the KB (ox.OWLClass), i.e. where all arguments of those axioms consists of complex class descriptions as can be seen in Figure 3.

Query about the general class axioms (GCI's)
Figure 3. Query for retrieving all general class axioms (GCI's)

3.3 Property Queries

Likewise to the told queries for classes there are two sorts of queries for accessing told data of object properties. The GetObjectPropertyAxioms query takes an object property expression and returns a ToldObjectPropertyAxiom response with object property axioms which make statements about the properties domain, range, and characteristics (see Figure 4). Whereas the XXX in ox.XXXObjectProperty is a placeholder for the various characteristics of object properties, namely Functional, Reflexive, InverseFunctional, Irreflexive, Symmetric, Transitive, and Asymmetric.

Query about the object property axioms
Figure 4. Query about the axioms of object properties (part 1)

Furthermore, it returns axioms about the equivalent, disjoint, and inverse object properties as well as properties to which it is a sub-object property (see Figure 5).

Query about the object property axioms
Figure 5. Query about the axioms of named object properties (part 2)

An analogous told request is available for data properties. Here the GetDataPropertyAxioms query takes a data property (note that a data property is the only possible ex.DataPropertyExpression) and returns a ToldDataPropertyAxioms response. Figure 6 shows the response for the domain and range axioms as well as for the functional data property axioms.

Query about the data property axioms
Figure 6. Query about the axioms of data properties (part 1)

Figure 7 shows the remaing axiom responses for data properties (in comparision with object propeties there are no inverse property axioms with data properties).

Query about the data property axioms
Figure 7. Query about the axioms of data properties (part 2)

The GetGeneralObjectPropertyAxioms query is to retrieve general object property inclusion axioms. The corresponding response is characterized by the structural specification of Figure 8 and 9. It consists of object property axioms which solely refer to a complex property expression, namely an ox.InverseObjectProperty.

Query about the general object property axioms (domain, range, and charachteristics)
Figure 8. Query about the general object property axioms (part 1)

As in Figure 4 the XXX in ox.XXXObjectProperty of Figure 8 is a placeholder for the various object property characteristics.

Query about the general object property axioms (rest)
Figure 9. Query about the general object property axioms (part 2)

Since there are no general data property axioms possible within OWL 2 there is no corresponding request in the told extension.

3.4 Fact Queries

The query get GetToldTypes (Figure 10) retrieves the explicitly stated class assertions via the OWL ox.ClassAssertion axiom of a specific individual and is the told variant of the GetTypes from Figure 21 of the [OWLlink Structural Specification]. When omitting an individual as argument all previously given class assertion axioms of the KB are returned.

Query about the told class assertions of an individual
Figure 10. Query about the told class assertions of an individual

To retrieve the instances of a ox.Description (or ox.OWLClass) the query GetToldInstances can be used as shown in Figure 11. This query is the told variant of GetInstances (cf. Figure 27 of the [OWLlink Structural Specification]) and returns a set of previously stated class assertions with its ToldClassInstances response.

Query about the told instances of a class
Figure 11. Query about the told instances a class

Axioms about told equivalent as well as different individuals to a given one are accessible via the GetToldEquivalentIndividuals resp. GetToldDisjointIndividuals queries (cf. Figure 22 and Figure 23 of the [OWLlink Structural Specification]). Both respond with a corresponding told response containing ox.SameIndividuals resp. ox.DifferentIndividuals axioms. Their structural specification is given in Figure 12. Without providing an argument (an individual) these requests respond with all given KB axioms of their given type.

Query about the told equivalent as well as different individuals
Figure 12. Query about told equivalent resp. different individuals

The query GetToldObjectPropertyFillers is the counterpart of GetObjectPropertyFillers (Figure 27 of the [OWLlink Structural Specification]) and retrieves all told object property assertions of the given object property where the given individual is a source. This query together with its ToldObjectPropertyFillers response is depicted in Figure 13. Note that when setting the flag negative of the query to true the response contains ox.NegativeObjectPropertyAssertions instead.

Query about the told instances of a class
Figure 13. Query about the told fillers of an object property with respect to a source individual

The corresponding query for retrieving the told sources of an object property assertion is GetToldObjectPropertySources in Figure 14 (cf. GetObjectPropertySources in Figure 27 of the [OWLlink Structural Specification]). Here also an individual as well as an object property expression is given and all matching property assertions are returned within its ToldObjectPropertySources response.

Query about the told sources of an object property
with respect to a filler individual
Figure 14. Query about the told sources of an object property with respect to a filler individual

The request GetToldObjectPropertyAssertionsForSource of Figure 15 is for retrieving the object property assertions with respect to a given source individual. As before the response consists of a (possibly emtpy set) of object property assertions.

Query about the told object property assertions wrt. a given source individiual
Figure 15. Query about the told object property assertions with respect to a source individual

The inverse request to GetToldObjectPropertyAssertionsForSource is GetToldObjectPropertyAssertionsForFiller of Figure 16 which refers to a given filler of a object property assertion.

Query about the told object property assertions wrt. a given filler individual
Figure 16. Query about the told object property assertions with respect to a filler individual

Furthermore, there is the GetToldObjectPropertyAssertions request of Figure 17, which has an object property as its optional argument. When providing a property the response returns all object property assertions (resp. negated assertions) which instantiate this property. Without an argument it returns all object property assertions of the KB.

Query about all previously told object property assertions
Figure 17. Query about the all told object property assertions

The structural specification in Figure 18 of the GetToldObjectPropertyAssertions request finally requires a source and a filler individual as arguments and its response contains all those property assertions that relate these two individuals with an object property (or explicitly does not relate them in case of negative is set to true).

Query about all previously told object property assertions wrt. a source and
a target individual
Figure 18. Query about the all told object property assertions wrt. two individuals

Similar to the queries for object property assertions there are queries for data properties. For instance, the constants of a data property assertions by supplying an individual as well as data property is given in Figure 19.

Query about the told contants of a data property assertion
Figure 19. Query about the told constants of a data property with respect to a source individual

Figure 20 shows the query for retrieving those data property assertions which refer to the given data property and filler constant.

Query about the told sources of an data property
with respect to a filler constant
Figure 20. Query about the told sources of a data property with respect to a filler constant

For a given source individual all data property assertions can be retrieved with the query from Figure 21.

Query about the told data property assertions wrt. a given source individiual
Figure 21. Query about the told data property assertions with respect to a source individual

For a given filler constant all data property assertions can be retrieved with the query from Figure 22.

Query about the told object property assertions wrt. a given filler constant
Figure 22. Query about the told data property assertions with respect to a filler constant

Given a data property, all corresponding data property assertions are accessable with the query of Figure 23. Whithout providing a data property all existing data property assertions of the KB are returned.

Query about all previously told data property assertions
Figure 23. Query about the all told data property assertions

The data property assertions referring to a source individual and target constant can be retrieved with the query of Figure 24.

Query about all previously told data property assertions wrt. a source
individual and a target constant
Figure 24. Query about the all told data property assertions wrt. an individual and a constant

3.5 Declaration Queries

Since declarations are part of OWL 2 there is a told query for retrieving declaration axioms. In fact, there are six queries which allow to query for declaration axioms with respect to the six different OWL entities. GetAnnotationPropertyDeclarations, GetOWLClassDeclarations, GetIndividualDeclarations are shown in Figure 25.

Query for retrieving declaration axioms (annotation properties, individuals, classes)
Figure 25. Query for retrieving declaration axioms (part 1)

Figure 26 shows GetDataPropertyDeclarations, GetDatatypeDeclarations, and GetObjectPropertyDeclarations. All of them feature an optional argument which is an OWL entity for which the declaration axiom is asked for. Without an argument these queries return all declaration axioms of their corresponding argument type.

Query for retrieving declaration axioms (data properties, object properties, datatypes)
Figure 26. Query for retrieving declaration axioms (part 2)

3.6 Annotation Queries

Annotations can be accessed with the GetAnnotations query which returns all entity annotation axioms when send without any argument (see Figure 27). When providing an argument it has to be a conrete entity from one of theox.OWLEntity subtypes. The response then consists of a (potentially empty) set of existing entity annotations for the given entity.

Query for retrieving all entity annotations
Figure 27. Query for retrieving entity annotations

3.7 Retrieving all of the KB

With help of the requests from above all axioms of a KB can be retrieved from an OWLlink server. For instance, in order to retrieve all axioms with respect to classes, descriptions and object as well as data properties (something which is sometimes called the schema part or TBox of a KB) one has to pose the following three queries (all without providing an argument):

To retrieve told data about individuals and their relationships between each other these five queries are needed (all without providing an argument and with their negative flag set to true as well as to false):

Furthermore, the declaration as well as annotation axioms are retrieved with the following queries (again without any argument):

As a shortcut there is one query for retrieving the whole KB. The query GetKB of Figure 28 returns all given axioms of the specified KB. The declarations flag within this query specifies whether the response should contain declaration axioms or not.

Query for retrieving all of the KB
Figure 28. Query for retrieving the whole KB


4. References

[XPath 1.0]
XML Path Language (XPath) Version 1.0. James Clark, Steve DeRose. Recommendation, November 1999, http://www.w3.org/TR/xpath.
[OWL 2 XML Serialization]
OWL 2 Web Ontology Language: XML Serialization. B. C. Grau, B. Motik, P. Patel-Schneider. W3C Working Draft 11 April 2008, http://www.w3.org/TR/2008/WD-owl2-xml-serialization-20080411/. Latest version available at http://www.w3.org/TR/owl2-xml-serialization/.
[OWLlink Structural Specification]
OWLlink Structural Specification. Thorsten Liebig, Marko Luther, Olaf Noppens. Working Draft, October 2008, http://www.owllink.org/owllink-20081001/. Latest version available at http://www.owllink.org/owllink/.