Options for the Web Ontology Language
by Peter F. Patel-Schneider

Abstract

There are a number of options for the Web Ontology Language. Some of these options have bad consequences. A small number of examples show the differences between the various options and various proposals for the Web Ontology Language.

Presented at the second face-to-face meeting of the W3C Web Ontology Working Group, Amsterdam, Netherlands, April 2002.

a) The syntax for the Web Ontology Language could be the same as the syntax for RDF and RDFS. This means that the syntax is equivalent to N-triples, whether N-triples are employed directly or the syntax is expressed as the same way as the XML encoding of RDF. A reasonable way of defining a class in this syntax would be as

	<foo> <rdf:type> <rdfs:Class> .
	<foo> <intersectionOf> _:1 .
	_:1 <first> <bar> .
	_:1 <rest> _:2 .
	_:2 <first> _:3 .
	_:2 <rest> <nil> .
	_:3 <rdf:type> <Restriction>.
	_:3 <onProperty> <xxx> .
	_:3 <minCardinality> :1: .
      

1. Syntax

b) The syntax for the Web Ontology Language could be a dialect of XML, different from the XML encoding for RDF. A reasonable way of defining a class in this syntax would be as

	<defclass id="foo">
	  <class id="bar">
	  <atleast count="1" property="xxx">
	</defclass>
      

1. Syntax

c) The syntax for the Web Ontology Language could be in some other form, such as s-expressions. A reasonable way of defining a class in this syntax would be as

	(defclass foo (and bar (atleast 1 xxx)))
      

2. Non-top level Definitions

Regardless of the basic syntax used, is it possible to have definitional information show up anywhere except at the top level? An example of this would be
	(instance John (and (all child TransitiveProperty)
			    (some child (set Joe Jim))))
      
where TransitiveProperty is the class of transitive properties, i.e., an object that belongs to TransitiveProperty is a transitive property.

3. Expressive Power

4. Sub-languages

As well, the Web Ontology Language might have several sub-languages, either formally or informally identified.

5. Semantic RDF Compatability

6. Theory of Classes

The model theory of the Web Ontology Language might sanction the inferences involving classes or other constructs that do not show up in a knowledge base. For example, if John is a Student and John is an Employee, it might follow that John belongs to a class that is the intersection of Student and Employee.

Problematic Points in the Option Space

The combination of

	1a. Syntax is RDF syntax
	3d. Expressive Power is powerful DL
	5a. Model theory is completely RDF compatible
	6. Classes / restrictions are inferrable.
   
leads to a semantic paradox. This actually doesn't really depend on the fact that the syntax is RDF syntax, but instead on the fact that rdf:type is a property and thus can be used in restrictions and on the fact that loops are possible and thus a form of self-reference is possible.

Problematic Points in the Option Space

The use of

	2. Definitional information can show up not at top level
   
can lead to difficult, and difficult-to-implement inference.

Proposal - DAML+OIL

http://www.w3.org/TR/daml+oil-reference

   1a.The syntax of DAML+OIL is RDF syntax.
   2.  Definitional information cannot show up except at top level.
   3d. The expressive power of DAML+OIL is the same as a powerful DL.
   4.  DAML+OIL does not have sublanguages.
   5?. The model theory of DAML+OIL is (close to) that of RDF plus
       additional conditions.
   6.  Classes and restrictions are not inferrable in DAML+OIL.
   

Proposal - D+

http://www-db.research.bell-labs.com/user/pfps/webont/dplus.text

   1a. The syntax of D+ is RDF syntax.
   2.  Definitional information can show up not at top level.
   3d. The expressive power of D+ is the same as a powerful DL.
   4.  D+ does not have sublanguages.
   5a. The model theory of D+ is fully compatible with that of RDF.
   6.  Classes and restrictions are inferrable in D+.
   

Proposal - first Face-to-Face

http://lists.w3.org/Archives/Public/www-webont-wg/2002Jan/att-0061/01-swol.text http://www-db.research.bell-labs.com/user/pfps/webont/swol-rdf.text

   1b. The syntax here is an XML dialect.
   2.  Definitional information can show up not at top level.
   3d. The expressive power is that of a powerful DL.
   4.  There are no sublanguages.
   5b. The model theory is close to RDF model theory.
   6.  Classes and restrictions are inferrable.
   

Proposal - second Face-to-Face

http://www.cs.vu.nl/~frankh/spool/OWL-first-proposal/

    1c. The syntax in this proposal is currently only abstract.
    2.  Definitional information has to be at top level.
    3d. The expressive power is that of a powerful DL.
    4.  There is a sublanguage that is at the simple DL level of expressive power.
    5c. The model theory is not the same as RDF model theory.
    6.  Classes and restrictions are inferrable.
   

Indicative Statements and Inferences

Here is a collection of statements and inferences that show off the differences between the various options and proposals. Each is given in an informal manner as well as in DAML+OIL.

1/ Intersection Inference

This inference shows a simple inference that one might want to make about intersections of classes.

Premises:
John is an instance of Student.
John is an instance of Employee.
Conclusion:
John is an instance of the intersection of Student and Employee.

1/ Intersection Inference

Premises:
<John> <rdf:type> <Student> .
<John> <rdf:type> <Employee> .
Conclusion:
<John> <rdf:type> _:1 .
_:1 <daml:intersectionOf> _:2 .
_:2 <daml:first> <Student> .
_:2 <daml:rest> _:3 .
_:3 <daml:first> <Employee> .
_:3 <daml:rest> <daml:nil> .

2/ Restriction Inference

This inference shows the inference of a restriction that is not mentioned in the knowledge base.

Premise:
John is an instance of Student with child Joe.
Conclusion:
John is an instance of the restriction that requires at least one child.

2/ Restriction Inference

Premises:
<John> <rdf:type> <Student>.
<John> <child> <Joe> .
Conclusion:
<John> <rdf:type> _:1 .
_:1 <rdf:type> <daml:Restriction> .
_:1 <daml:onProperty> <child> .
_:1 <daml:minCardinality> "1" .

3/ Subclass Inference

This inference explores whether unmentioned subclasses exist.

Premise:
John is an instance of Student with child Joe.
Conclusion:
The intersection of Student and the restriction that requires at least one child is a subclass of Student.

3/ Subclass Inference

Premises:
<John> <rdf:type> <Student> .
<John> <child> <Joe> .
Conclusion:
_:1 <rdfs:subClassOf> <Student> .
_:1 <daml:intersectionOf> :_2 .
_:2 <daml:first> <Student> .
_:2 <daml:rest> _:3 .
_:3 <daml:first> _:4 .
_:3 <daml:rest> <daml:nil> .
_:4 <rdf:type> <daml:Restriction> .
_:4 <daml:onProperty> <child> .
_:4 <daml:minCardinality> "1" .

4/ Trivial Inference

This inference explores whether the formal system breaks down.

Premise:
John is an instance of Student.
Conclusion:
John is not an instance of Student

4/ Trivial Inference

Premise:
<John> <rdf:type> <Student> .
Conclusion:
<John> <rdf:type> _:1 .
_:1 <daml:complementOf> <Student> .

5/ Embedded definitional information

This syntactic ability shows how embedded definitional information could be stated.

To be said:
All John's children are instances of TransitiveProperty.
John has a child that is either Joe or Jim.
Meaning:
Either Joe or Jim is a transitive property

5/ Embedded definitional information

	<John> <rdf:type> _:1 .
	_:1 <rdf:type> <daml:Restriction> .
	_:1 <daml:onProperty> <rdf:type> .
	_:1 <daml:toClass> <daml:TransitiveProperty> .
	<John> <rdf:type> _:2 .
	_:2 <rdf:type> <rdfs:Class> .
	_:2 <daml:oneOf> _:3 .
	_:3 <daml:first> <Joe> .
	_:3 <daml:rest> _:4 .
	_:4 <daml:first> <Jim> .
	_:4 <daml:rest> <daml:nil> .
   

Characterization of the Proposals

DAML+OIL D+ Old Proposal Current Proposal
1-intersection no YES YES YES
2-restriction no YES YES YES
3-subclass no YES YES ?
4-trivial no YES no no
5-embedded def not possible ? possible not possible