<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>O-Telos-RDF: A Resource Description Format with Enhanced Meta-Modeling Functionalities based on O-Telos</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Wolfgang Nejdl, Hadhami Dhraief, Martin Wolpers Computer Engineering - Knowledge Based Systems University of Hannover Appelstr.</institution>
          <addr-line>4, 30167 Hannover</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we will describe the formalization of an RDF(S) variant we call O-Telos-RDF, which provides enhanced functionalities for meta-modeling and reified statements. This formalization is based very closely on the formalization of the modeling language O-Telos, which is based on a semantic network model quite similar to RDF(S), and has been used as a (meta) modeling language in various application areas during the last 10 years.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        RDF(S) [
        <xref ref-type="bibr" rid="ref14 ref25 ref6">5, 3</xref>
        ] is based on the simple, yet quite powerful model
of semantic networks, where every statement is expressed as a
binary predicate on ground arguments, with the nodes in the graph
denoting arbitrary resources and literals which are used as subjects
and objects of statements, and the arcs denoting specific
relationships between two of these nodes.
      </p>
      <p>
        RDF(S) falls short however in exploiting both the simplicity
and the expressivity of the underlying semantic network
formalism. The RDF(S) description (see [
        <xref ref-type="bibr" rid="ref14 ref6">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref25">3</xref>
        ]) is quite difficult
to read and lacks a formal description of semantics (though [
        <xref ref-type="bibr" rid="ref11">4</xref>
        ]
has later given quite a good formalization). Additionally,
metamodeling and reification is cumbersome and restricted in RDF(S),
even though it has been envisioned as one of the important
application areas of RDF(S).
      </p>
      <p>
        In an earlier paper [13], we have pointed out the dual use of
properties like subclass and type both as primitive (metalevel)
concepts to define the RDF(S) concept hierarchy as well as concepts
defined in RDF(S) itself, and have proposed a metamodeling
approach separating these uses, which is more in line with a layered
metamodeling approach such as described in [
        <xref ref-type="bibr" rid="ref26">6</xref>
        ]. More recently,
[14] proposed a layered version of RDF(S) called RDFS(FA)
motivated by the same observations.
      </p>
      <p>In this paper we will use the (meta-) modeling language O-Telos
as a basis for an alternative resource description format we call
O-Telos-RDF, which retains the basic principles of RDF(S), but
extends its meta-modeling and reification functionalities.
Primitive concepts like subclass and type are strictly axiomatized in this
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>
        Copyright 2000 ACM 0-89791-88-6/97/05 ..$5.00
language, and can be used together with the other O-Telos-RDF
concepts to formalize descriptions on all abstraction levels. The
modeling language O-Telos has been defined and axiomatized in
[
        <xref ref-type="bibr" rid="ref16">8</xref>
        ], based on its predecessor Telos [11, 10], and implemented in
the deductive object oriented database system ConceptBase [
        <xref ref-type="bibr" rid="ref10">7</xref>
        ]. It
has been used in a variety of modeling contexts (see [
        <xref ref-type="bibr" rid="ref27 ref28 ref29">9</xref>
        ] for an
overview) during the last 10 years.
      </p>
      <p>The extended functionalities of O-Telos-RDF are based on
OTelos’ use of a semantic network (i.e. binary predicates) for
modeling in a uniform way all kinds of information (information about
objects and specific relationships between these objects,
information about classes and relations, information about metaclasses,
etc.) This capability is also present in many aspects of RDF(S),
but unfortunately not in all, as we will see in this paper. Using
semantic networks for modeling has a long tradition, starting with
Tarskis use of binary relations [16], and continuing with Abrials
semantic datamodel based on such binary relations [1].</p>
      <p>
        We will use the paper by Conen and Klapsing [
        <xref ref-type="bibr" rid="ref11">4</xref>
        ] as a starting
point for the description of our RDF(S) variant, O-Telos-RDF, and
retain basically all original O-Telos axioms from [
        <xref ref-type="bibr" rid="ref16">8</xref>
        ], only
modifying them when necessary to make them suitable for a resource
description format comparable to RDF(S). We will use RDF(S)
terminology whenever possible. Our order of presenting the different
OTelos-RDF concepts reflects the order of RDF(S) concept
presentation in [
        <xref ref-type="bibr" rid="ref11">4</xref>
        ] which will make it easier for knowledgeable RDF(S)
users to compare RDF(S) and the O-Telos-RDF variant. We will
also use an XML serialization similar to the original RDF(S)
serialization in order to necessitate as few changes in current RDF
parsers as possible.1
2.
      </p>
    </sec>
    <sec id="sec-2">
      <title>O-TELOS-RDF CONCEPTS</title>
      <p>O-Telos-RDF graphs are semantic networks, which consist of
nodes and (directed) arcs. Nodes represent all kinds of concepts
(such as classes, metaclasses etc.) and individuals (such as
specific WWW pages and literals), arcs represent specific (property)
relationships.</p>
      <p>
        Both nodes and arcs are labeled with atomic values or URIs as
names. They are both first class entities, and therefore are
referenced by IDs (unique within the current namespace), usually in the
form of URIs, which either contain the node or arc label (if it is
an atomic value), or use the label directly as ID (when the labels
Note, that in an earlier version of this report [12], we used a
serialization which did not assume any knowledge about an
O-TelosRDF specific semantics, so that a current RDF parser like SiRPac
[15] could produce the correct O-Telos-RDF tuples from this
serialization. Our current serialization necessitates some small changes
in SiRPac, but is more compact than our previous serialization.
are URLs or instances of primitive types like literals). By
referencing these IDs, arcs can connect any two other entities (i.e. two
nodes, one node and one arc or two arcs), in contrast to RDF(S),
where arcs only connect resources (i.e. nodes). As in RDF(S) [
        <xref ref-type="bibr" rid="ref11">4</xref>
        ],
all nodes have different labels, and represent different entities. Arc
labels are not unique, two arcs between two specific entities have
different labels, however.
      </p>
      <p>In the following we will discuss the basic O-Telos-RDF
concepts building on this framework in more detail, give examples
using both tuple and XML-syntax, and compare the
O-TelosRDF concepts with the original O-Telos axioms they are based
on, as well as with the usual RDF(S) concepts. We will use
the namespace concept of XML and use the namespace “otelos:”
throughout this paper, refering to the URI
“http://www.kbs.unihannover.de/otelos/2001/08/otelos-rdf-schema#” which contains
the O-Telos-RDF definitions of this paper.</p>
      <p>
        To allow easy comparison of O-Telos-RDF with RDF(S), we
mainly follow the structure of [
        <xref ref-type="bibr" rid="ref11">4</xref>
        ] (distinguishing basic concepts
(corresponding to RDF concepts) and schema level concepts
(corresponding to RDFS concepts)), even though O-Telos-RDF does
not distinguish between schema level and object level statements.
2.1
      </p>
      <p>Basic O-Telos-RDF Concepts and
Predicates
2.1.1</p>
      <sec id="sec-2-1">
        <title>Statement</title>
        <p>All nodes and arcs in an O-Telos-RDF graph are represented by
statements of the general form s(sid,x,l,y) where sid represents the
statement ID (a unique identifier of the statement), x and y
represent identifiers of (possibly other) statements and l is called the
label of the statement. All statement identifiers sid are URIs or as
URI-like as possible and are unique globally (except when exactly
the same statements are made in two different places).</p>
        <p>We call x the subject, y the object and l the predicate of a
statement. All statements in O-Telos-RDF are implicitly reified, and
can be identified by their statement ID. We therefore have the first
axiom:</p>
        <p>AXIOM 2.1. Statement identifiers uniquely identify statements:
We can define auxiliary predicates subject, predicate and object
as follows:</p>
        <p>Example 1: This example gives a first impression of how the
resulting statements look like. The exact definitions of the used
constructs will follow in later sections. We want to express that a
resource “LectureUnit1” has a property “title” with the value
“Lecture Unit 1”.</p>
        <p>The XML-serialization (which we keep as similar to RDF(S) as
possible - see appendix A for the basic XML serialisation) looks as
follows:
&lt;otelos:Description ID="LectureUnit1"&gt;</p>
        <p>&lt;title&gt;Lecture Unit 1&lt;/title&gt;
&lt;/otelos:Description&gt;</p>
        <p>The statements for this serialization are
s(sid1,sid1,LectureUnit1,sid1)
s(sid2,sid1,title,"Lecture Unit 1")
s(sid3,sid1,type,otelos:individual)
s(sid4,sid2,type,otelos:property)</p>
        <p>where
sid1=ns:LectureUnit1
sid2=ns:LectureUnit1_title
sid3=ns:LectureUnit_type_otelos:individual
sid4=bns:LectureUnit1_title_type_otelos:property
and “ns:” stands for the current namespace specifying where
these metadata can be found (e.g. “http://www.kbs.uni-hannover.de
/ai1/metadata.html#”.2 The statement identifiers are generated
automatically from the other arguments (we’ll discuss how later), so
they do not have to be included in the XML serialization.</p>
        <p>Tupels sid3 and sid4 specify membership of sid1 and sid2 in
the (predefined) O-Telos-RDF classes otelos:individual and
otelos:property respectively (similar to rdfs:class and rdf:property),
and are themselves members of the O-Telos-RDF class otelos:type.
As we will see in the following sections, membership in these
predefined classes is specified by the syntactic form of the statements,
and we will not include these type-statements in our later examples,
as they can always be reconstructed from the axiomatic
membership definition (2.3, 2.5 and 2.10) for these predefined classes.</p>
        <p>Example 2: This example states that a web page with the URI
“http://.../Definitions.html” has a title called “Definitions”.
&lt;otelos:Description</p>
        <p>about="http://.../Definition.html"&gt;
&lt;title&gt;Definitions&lt;/title&gt;
&lt;/otelos:Description&gt;</p>
        <p>The corresponding statements are
s(sid1,sid1,http://.../Definitions.html,sid1)
s(sid2,sid1,title,"Definitions")</p>
        <p>where
sid1=http://.../Definitions.html
sid2=http://.../Definitions.html_title</p>
        <p>Additionally, as already mentioned in example 1, sid1 is instance
of otelos:individual while sid2 is instance of otelos:property.
Furthermore these two type-statements are instances of otelos:type.
2.1.1.1 Comparison to RDF(S) and O-Telos.</p>
        <p>Axiom 2.1 corresponds to the O-Telos axiom 1 (uniqueness
of object identifiers). O-Telos-RDF statement identifiers are
constructed as URIs or URI-like identifiers in order to be able to
reference them easily in other statements. In contrast to O-Telos object
identifiers, they are not invisible. Their exact form will be discussed
in the following sections. In constrast to RDF(S), there is no
difference between “named” and “unnamed” resources, all statements
have unique IDs. For Web-Pages, these are the usual URLs.</p>
        <p>
          Axiom 1 of [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] states that an RDF(S) statement connects two
nodes with a label. The label has to be RFC 2396 [
          <xref ref-type="bibr" rid="ref15">2</xref>
          ] conform,
statements do not have a unique ID. In O-Telos-RDF, labels can
also be atomic values, while statement IDs are unique and usually
conform to RFC 2396.
        </p>
        <p>In the following, we will abbreviate these URLs to save
space, leaving out hostname and directories, and use forms like
“http://.../metadata.html#”.</p>
        <p>Analogously to RDF(S), we call x the subject, y the object and l
the predicate of a statement, although we have not defined them as
predefined properties (which we could, though).</p>
        <p>
          All statements in O-Telos-RDF are implicitly reified, and can
be identified by their statement ID. Thus we don’t have to reify a
statement explicitly which contrasts with the axioms 7, 8 and 9 of
[
          <xref ref-type="bibr" rid="ref11">4</xref>
          ]. Instead, when one statement talks about another statement, we
have to enforce the existence of the statement talked about. This is
basically the same as a foreign key constraint in relational database
theory.
        </p>
        <p>
          In order to explicitly distinguish between statements and explicit
reifications thereof similar to RDF(S) (and the [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] axioms), we
could define a class otelos:reified statement, with three properties
otelos:subject, otelos:predicate and otelos:object.
2.1.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Individual</title>
        <p>Nodes in an O-Telos-RDF graph are represented by statements
of the form s(o,o,o,o) or s(ns:l,ns:l,l,ns:l), where o and ns:l are
URIs, ns is the current namespace and l is an atomic label. We
call these statements individuals, they can be used as subjects and
objects in statements.</p>
        <p>AXIOM 2.2. The set of all statements, abbreviated as
otelos:statement is represented by the individual
s(otelos:statement,otelos:statement,statement,otelos:statement), where
“otelos:” is the namespace for the O-Telos-RDF definitions.</p>
        <p>Serialized as XML, this individual is simply declared as
&lt;otelos:Individual ID="statement"/&gt;</p>
        <p>or, more RDF(S)-like
&lt;otelos:Description ID="statement"/&gt;</p>
        <p>&lt;type s="otelos:individual"/&gt;
&lt;/otelos:description&gt;</p>
        <p>Again, the type-statement (which will be explained in
section 2.2.1) is not really necessary, as membership of statements in
the set of individuals is defined by the syntactic form of the
statement.</p>
        <p>AXIOM 2.3. The set of all individuals is represented by
otelos:individual or (in longer form)
s(otelos:individual,otelos:individual,individual,otelos:individual).</p>
        <p>O-Telos-RDF individuals can represent both classes and
instantiated objects (as well as metaclasses, metametaclasses, etc.), there
is no syntactic distinction between these different abstraction
levels. This makes unrestricted metamodelling hierarchies possible in
O-Telos-RDF.</p>
        <p>AXIOM 2.4. If the label of an individual is an atom, it is unique
within its namespace. Together with its namespace, or if the label
is already an URI, it is unique globally. Therefore the statement ID
of an individual is unique globally in all cases.</p>
        <p>In the following, we will use the statement ID of an individual
as an abbreviated name for that individual, i.e. we will be talking
about otelos:statement, otelos:individual, etc. As the statement ID
is unique and human readable, we can use this ID also to reference
all other statements, which are not individuals.</p>
        <p>Example 3: The following example declares an individual with
the name ”LectureUnit1”:
&lt;otelos:Individual ID="LectureUnit1"/&gt;
with the corresponding statement
s(sid1,sid1,LectureUnit1,sid1)</p>
        <p>where
sid1=ns:LectureUnit1
2.1.2.1 Comparison to RDF(S) and O-Telos.</p>
        <p>In O-Telos-RDF all individuals are resources in the usual
RDF(S) sense, and can be used as subjects and objects in
statements. O-Telos states the existence of statements in its axioms 18
and 24 which correspond to axiom 2.2 of O-Telos-RDF.</p>
        <p>
          Axioms 1 and 2 of [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] state the existence of Resource which
is equal to the O-Telos-RDF concept otelos:individual (see axiom
2.3), which corresponds to the O-Telos axioms 19 and 25.3
        </p>
        <p>
          Axiom 4 of [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] states that a named Resource is identified by an
URI. O-Telos-RDF broadens the scope of the identifiers with
axiom 2.4 so that all individuals are identified by an URI, and further
statements can be made about each individual using this URI.
Labels of individuals are unique in O-Telos-RDF (corresponding to
O-Telos axiom 2).
        </p>
        <p>In contrast to RDF(S), O-Telos-RDF requires the declaration of
each individual/resource, so each individual is represented by its
corresponding tuple. Writing down these explicit individual
declarations for all annotated and used URLs can be time consuming,
though, and a smart parser can generate the corresponding tuples
for each URL automatically. In the following, we will therefore
use an XML serialization which does not require explicit
individual declarations for URLs, and leave it to the parser to generate the
corresponding tuple for each URL it encounters.
2.1.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Class</title>
        <p>We include a short discussion of class at this point, even though
class is a schema definition concept, which RDF(S) defines in the
schema specification, not in the basic model and syntax
specification.</p>
        <p>The reason for this is that, in O-Telos-RDF, individuals represent
both objects and classes. As all individuals can be instantiated,
there is no need to introduce a separate class concept. All RDF(S)
classes are represented as O-Telos-RDF individuals, as are their
members. Class membership is defined using type-statements (see
2.2.1).</p>
        <p>To enhance readability, we define an individual otelos:class,
which denotes the same set as otelos:individual, and use both
otelos:class and otelos:individual in our XML serialization. Note,
however, that the distinction of otelos:class and otelos:individual is
purely syntactic sugar and does not indicate any semantic
distinction. Both terms are translated into otelos:individual in the tuple
representation.
2.1.3.1 Comparison to RDF(S) and O-Telos.</p>
        <p>
          Even though RDF(S) defines the concept rdfs:Class, no special
axioms are defined in [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ]. Rather, axioms are defined for the special
properties related to rdfs:Class, namely rdf:type, rdfs:subClassOf,
rdfs:range and rdfs:domain. This is similar to the formalization in
O-Telos-RDF, which does not define the class concept at all, but
has similar restrictions on the properties related to this concept.
        </p>
        <p>If we view something as a resource which can be referenced by an
identifier, “resource” would correspond to “statement” in
O-TelosRDF, though.</p>
        <p>Property
/5&gt; &amp;O76A
A
&amp;(
&amp; A &amp; A ns:p otelos:statement and ns:p y, and p different from the three
&amp; A &amp; A the special case s(ns:p,otelos:statement,p,y), with sid x, sid y,</p>
        <p>Arcs are represented by statements of the form s(sid,x,p,y) or by
reserved labels type, subClassOf and subPropertyOf. We call these
statements properties:</p>
        <sec id="sec-2-3-1">
          <title>AXIOM 2.5. Definition of properties:</title>
          <p>AXIOM 2.6. The set of all properties is denoted by the
statement (otelos:property,otelos:statement,property,otelos:statement),
abbreviated as otelos:property.</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>2.1.4.1 Object Scoped Properties.</title>
        <p>In the first case s(sid,x,p,y), p is an atomic value, and is unique
within the current namespace in conjunction with the source object
x, which is the unique identifier of another statement. Then the sid
is of the form x p, which is unique in the current namespace, and
potentially unique globally (except if another namespace specifies
a property with the same label for the same x). This naming of the
statement identifiers does not guarantee globally unique statement
IDs, but is in line with the object scoped way of looking at
properties. 4 If the property s(sid,x,p,y) is meant to represent the property
definition for p, then (using RDF(S) terminology), x is the domain
of p and y is the range of p.</p>
        <p>We then call p an object scoped property. This definition
corresponds to the class-centric way of defining properties used in
frame-based languages like O-Telos.</p>
        <p>AXIOM 2.7. Names of “object scoped” properties are unique
in conjunction with the source object:</p>
        <p>Example 4: The following description defines LectureUnit,
which has a property named title of type literal.
Note, that duplicate property statements are also possible in
RDF(S) between different namespaces. In any case, even if we
defined the statement identifiers in a globally unique way (which
would be possible by prefixing the ID with the current
namespace), integration of statements from different namespaces would
still need to be dealt with care, as globally unique statement IDs
would only handle uniqueness of statements, but still allow
inconsistency of properties (such as multiple values for single valued
properties, etc.)
with
sid1=ns:LectureUnit
sid2=ns:LectureUnit_title</p>
        <p>sid1 is a member of the set otelos:individual, sid2 is a member of
the set otelos:property. Both membership-statements are member
of the set otelos:type.</p>
      </sec>
      <sec id="sec-2-5">
        <title>2.1.4.2 Globally Scoped Properties.</title>
        <p>In the second (special) case s(ns:p,otelos:statement,p,y), p is an
atomic value, and is a unique label within the current namespace ns.
We then call p a globally scoped property, because it can be used
as property for all kinds of statements. This definition corresponds
to the property-centric way of defining properties in RDF(S).</p>
        <p>AXIOM 2.8. For “globally scoped” properties, axiom 2.7 is
extended, so that the names of attributes are unique even without
conjunction with the source object:
2.1.4.3 Comparison to RDF(S) and O-Telos.</p>
        <p>O-Telos-RDF axiom 2.7 corresponds to O-Telos axiom 3.
Axioms 2.5 and 2.6 correspond to O-Telos axioms 22 and 26.</p>
        <p>
          RDF(S) regards properties as a projection of the second
argument of the RDF-statement. Therefore [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] state with their axioms 2
and 3 that each label of a statement is a resource and that it is
identified by an URI. This holds for O-Telos (axiom 3) and O-Telos-RDF
(axiom 2.7) as well, with the exception of literals and some
property statements (type etc.) which yield IDs that are not RFC 2396
conform.
        </p>
        <p>In contrast to O-Telos und to RDF, O-Telos-RDF allows both
globally or object scoped properties, though the globally scoped
properties are just a special case of the object scoped properties. So,
as can be seen in example 4, the definition of properties is object
centered and is included in the class definition rather than written
outside of the class definition in separate statements.</p>
        <p>If different domains (as in RDF(S)) have to be expressed for a
property, this property has to be an object scoped property. When
using object scoped properties, different ranges are possible (in
contrast to the current RDF(S) specification).
2.1.5</p>
      </sec>
      <sec id="sec-2-6">
        <title>Literals and Other Primitive Types</title>
        <p>Literals l are represented as individuals s(l,l,l,l). The set of all
literals is denoted by the individual otelos:literal. Other primitive
types (like the ones defined in the recent XML schema
specification, or Integer, Boolean, etc. from O-Telos) can be introduced in
the same way.</p>
        <p>While the statement IDs for these primitive individuals are no
URIs, this representation allows us to use these individuals
consistently with current RDF(S)/XML statements, by simply including
the value in a statement.
2.1.5.1 Comparison to RDF(S) and O-Telos.</p>
        <p>
          Axioms 5 and 6 of [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] declare a literal as an object that is not
a resource. These literals are instances of rdfs:Literal. In contrast,
O-Telos (and O-Telos-RDF) declare predefined classes, such as
Literal (String), Boolean, Integer, etc.
2.2 Schema Definition Concepts and
Predicates
2.2.1 type
        </p>
        <p>Statements of the form s(sid,x,type,y) denote class membership
of x in y. We talk about x being an instance of y, where x and y
represent either two individuals or two properties.</p>
        <p>AXIOM 2.9. Type statements can be written using the auxiliary
predicate type(x,y):</p>
        <p>AXIOM 2.10. All statements, where subject and object are
different from the statement ID and which use the label “type”,
are instances of the set otelos:type, represented by the statement
s(otelos:type,otelos:statement,type,otelos:statement):</p>
        <p>AXIOM 2.11. The label “type” of these statements is unique in
conjunction with the source object x and the destination object y.
The statement identifier sid has therefore the form x type y:</p>
        <p>AXIOM 2.12. Property statements can be written with the name
of the property (instead of a new label) by using the auxiliary
predicate P(x,m,y):</p>
        <p>AXIOM 2.13. Properties P of a subject x are always expressed
as a property statement, which is an instantiation of a property
definition for the class c of which x is a member of:</p>
        <p>AXIOM 2.14. In case x is an instance of two classes c and d,
which both define a property m, x has also to be an instance of a
class g, which is a subclass of both c and d, and which also defines
property m:</p>
        <p>The axiom 2.14 handles multiple inheritance/instantiation in
case two classes of an object both define a common property, by
demanding a third class the object is an instance of, which defines
this property and thus makes instantiating the property for x unique.</p>
        <p>Example 5: The following example shows the use of
typestatements. Let us assume, that there is an individual called
LectureUnit that has a property of type String labeled title. Another
individual called LectureUnit1 is an instance of LectureUnit and
instantiates the property title with the value “Lecture Unit 1”.</p>
        <p>Please note that the following examples use the namespaces rdf:,
rdfs:, s:, t: and otelos: instead of the URIs with the
statementdeclarations. We abbreviated the URIs in order to enhance the
readability of the examples.
&lt;otelos:OTELOS
xmlns:t="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-5#"
xmlns:otelos="http://www.kbs.uni-hannover.de
/otelos/2001/08/otelos-rdf-schema#"&gt;</p>
        <p>In the rest of the paper, we will not explicitly specify the type
statement for properties like “LectureUnit1 title” in the XML
serialization, whenever the label of the instantiated property is the
same as the label used in the definition of that property and an
explicit type statement is included for the object the instantiated
property is associated to. In these cases the type definition tuple can be
inferred by the O-Telos-RDF parser by using the label to look up
the appropriate property definition within the class specified by the
type statement for the object containing the instantiated property.
This allows an XML serialization very similar to the RDF(S)
serialization.</p>
        <p>If the label of the instantiated property statement is different
from the label used in the property definition5, we will use an XML
serialization for instantiated properties which includes the type of
the instantiated property as an additional XML-attribute “type=”.
Using this serialization, example 5 looks as follows:
&lt;otelos:OTELOS</p>
        <p>xmlns:t="http://www.kbs.uni-hannover.de/otelos
This is usually done for multivalued properties and in
metamodeling application (where the property definition is defined for a
metaclass, the instantiated property for an instantiation of this metaclass,
and therefore will be instantiated a second time).
&lt;/otelos:OTELOS&gt;</p>
        <p>We do not need to specify type statements for membership in
otelos:individual, otelos:property and otelos:type because they
result from the respective axioms.
h
2.2.1.1 Comparison to RDF(S) and O-Telos.</p>
        <p>Instantiations of classes using “type” are done in the same way in
RDF(S) as in O-Telos-RDF axioms 2.11 and 2.9 (corresponding to
the O-Telos axioms 4 and 5). Furthermore, objects can instantiate
the attributes defined in their classes in the same way in RDF(S)
and O-Telos-RDF (axioms 2.12 and 2.13, corresponding to O-Telos
axioms 7, 8 and 9). Axiom 2.10 corresponds to the O-Telos axioms
27 and 20.</p>
        <p>
          In contrast to RDF(S) [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ], which only has three abstraction
hierarchies (rdfs:class, classes, which are instances of rdfs:class
and instances of these classes) and represents property
instantiation implicitly (i.e. not by explicit statements), O-Telos and
hence O-Telos-RDF allow arbitrarily many abstraction hierarchies,
because their representation does not distinguish between
metaclasses, classes and objects, and instantiation is represented
explicitly for properties as well as for individuals.
        </p>
        <p>This instantiation of properties is defined in axioms 2.12 and
2.13 (corresponding to O-Telos axioms 7, 8 and 9), and leads to
instantiated property statements, which have a (possibly) different
label than the property definitions they instantiate, and which can be
instantiated again if needed. This is different from RDF(S), where
instantiation is only explicit for individuals. 6</p>
        <p>Axiom 2.14 (corresponding to O-Telos axiom 17) handles
multiple inheritance/instantiation. Such an axiom is not necessary in
RDF(S) because properties are defined separately from classes
anyway, and a given property can have just one range restriction.</p>
        <p>Differently to RDF(S), otelos:type stands on its own and is
different from otelos:property (axiom 2.10, corresponding to O-Telos
axiom 20).</p>
        <p>Axiom 2.12 (corresponding to O-Telos axioms 7 and 8) defines
how to state properties in an RDF(S)-like way. We can
therefore translate RDF(S)-like property statements like P(x,m,y) into
The missing explicit instantiation of properties in RDF(S) is
actually the main reason for its restriction to there abstraction levels,
as instantiated property statements neither have a label nor
statement ID, which makes it impossible to uniquely reference these
statements as first class objects.
the corresponding O-Telos-RDF statements by generating a unique
object identifier and a label for the statement representing the
instantiated property statement, plus an additional statement for the
instantiation relationship.</p>
      </sec>
      <sec id="sec-2-7">
        <title>2.2.2 Domain and Range</title>
        <p>Domain and range properties like those in RDF(S) are not
needed, as domain and range restrictions are already included in
all property definitions. For compatibility reasons, we can define
auxiliary predicates domain and range like</p>
        <p>or alternatively, as the (globally scoped) properties
otelos:domain and otelos:range, defined by the statements
s(otelos:domain,otelos:property,domain,
otelos:statement)
s(otelos:range,otelos:property,range,
otelos:statement)</p>
        <p>AXIOM 2.15. Subjects and objects in a statement representing
an instantiated property are typed by the corresponding property
definition:</p>
        <p>If no domain or range restrictions are desired for a property p, it
can be defined as a globally scoped property in the following way:
s(ns:p,otelos:statement,p,otelos:statement)
2.2.2.1 Comparison to RDF(S) and O-Telos.</p>
        <p>In contrast to O-Telos-RDF, RDF(S) has to state domain and
range using separate properties.</p>
        <p>
          [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] define the domain property in rules 19 to 21. It has a
cardinality of zero or more which complies with O-Telos-RDF.
Furthermore, [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] define the range property in rules 22 to 26. RDF(S)
restricts the range property to one range constraint per property.
In contrast, each O-Telos-RDF property definition has exactly one
range constraint, but for different domains different property
definitions with range constraints are possible (axiom 2.15). This
corresponds to O-Telos and its axiom 14.
        </p>
      </sec>
      <sec id="sec-2-8">
        <title>2.2.3 subClassOf</title>
        <p>Statements of the form s(sid,x,subClassOf,y) denote a subclass
relationship between x and y. We talk about x being a subclass
of y, where x represents a class and y its superclass. x and y are
individuals.</p>
        <p>AXIOM 2.16. The label “subClassOf ” in
subClassOfstatements is unique in conjunction with the source object x and
the destination object y, thus sids are of the form x subClassOf y:
).
$.&gt;Q23FG;96HJIUN % 23FGT9U6HJI.N</p>
        <p>AXIOM 2.17. We can also define an auxiliary predicate
subClassOf(x,y):
1 76/5$&lt;6756;&lt;GP23FGT9U6HJI A A
).
$.&gt;Q23FG;96HJIUN "!C &amp;(. )!Z &amp;BN</p>
        <p>AXIOM 2.19. All statements with a label “subClassOf ” whose
sid is not equal to subject and object are members of the set
otelos:subClassOf:</p>
        <p>AXIOM 2.18. The set of all subClassOf-statements is
represented by the statement s(otelos:subClassOf,otelos:individual,
subClassOf,otelos:individual).7</p>
        <p>The subClassOf relationship is a partial order on the statement
identifiers. This relationship is reflexive as well as transitive, and
does not contain cycles, but uses reflexivity to state equality.
2.2.3.1 Comparison to RDF(S) and O-Telos.</p>
        <p>Axiom 2.28, 2.19, 2.17 and 2.16 correspond to O-Telos axioms
28, 21, 6 and 4, and define subClassOf similarily to RDF(S).</p>
        <p>Contrary to RDF(S), the subClassOf-relationship is defined as a
partial order, which is reflexive as well as transitive. However (as
in RDF(S)) subclassOf does not contain cycles, and uses reflexivity
just to state equality (2.20, 2.21 and 2.22, corresponding to O-Telos
axioms 10, 11, 12).</p>
        <p>
          Class membership inherits upwardly to the superclasses in all
formalisms (RDF(S) [
          <xref ref-type="bibr" rid="ref11">4</xref>
          ] in rule 13, O-Telos-RDF in axiom 2.23,
O-Telos in axiom 13).
        </p>
        <p>Actually, because O-Telos uses the same label “isA”
(corresponding to our “subClassOf”) for subclassing both individuals and
properties, the direct translation from O-Telos would be the more
general statement
s(otelos:subClassOf,otelos:statement,subClassOf,otelos:statement). However, in line with RDF(S) conventions,
we will distinguish between the two concepts subClassOf and
subPropertyOf.</p>
      </sec>
      <sec id="sec-2-9">
        <title>2.2.4 subPropertyOf</title>
        <p>For compatibility reasons to RDF(S), we define
otelos:subPropertyOf separately from subClassOf, even though
it has all axioms from subClassOf, plus additional ones which are
relevant for subPropertyOf only.</p>
        <p>Statements of the form s(sid,x,subPropertyOf,y) denote a
subproperty relationship between x and y. We talk about x being a
subproperty of y, where x represents a property and y its
superproperty. x and y are properties.</p>
        <p>AXIOM 2.24. As for “subClassOf ”, the label
“subPropertyOf ” in statements is unique in conjunction with the source object
x and the destination object y:</p>
        <p>AXIOM 2.25. The auxiliary predicate subPropertyOf(c,d) is
defined as follows:</p>
        <p>The subPropertyOf relationship is a partial order on the
statement identifiers. This relationship is reflexive as well as transitive,
and does not contain cycles, but uses reflexivity to state equality:</p>
        <sec id="sec-2-9-1">
          <title>AXIOM 2.26. Reflexivity of subPropertyOf:</title>
        </sec>
        <sec id="sec-2-9-2">
          <title>AXIOM 2.27. Transitivity of subPropertyOf: AXIOM 2.28. No cycles, statement of equality: AXIOM 2.29. Property membership is inherited upwardly to the superproperties:</title>
          <p>AXIOM 2.30. All subPropertyOf-statements are members of
the set otelos:subPropertyOf, which is represented by the
state&amp;B. )!*
A
)N.5IU\*
% 23FG;9&gt;HJI. "!#23FG;96HJIU5
32MG0&gt;&lt;Q/56067NHJIN "!#$.\Z5&gt; "!#$NI</p>
          <p>AXIOM 2.32. Furthermore, O-Telos-RDF requires
subproperties of properties to refine subject and object of the properties as
well.
ment s(otelos:subPropertyOf,otelos:property,subPropertyOf,
otelos:property)8, thus sid are of the form x subPropertyOf y:</p>
          <p>AXIOM 2.31. Subclasses, which define properties with the
same name as properties of their classes, refine these properties:</p>
          <p>Example 6: The following example will further clarify things.
Two resources are related by a property. Also, these resources are
further subclassed, therefore the property has to be subclassed as
well.
&lt;otelos:OTELOS
xmlns:t="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-6#"
xmlns:otelos="http://www.kbs.uni-hannover.de
/otelos/2001/08/otelos-rdf-schema#"&gt;
In principle, we could allow the application of
subPropertyOf for instances of otelos:type, otelos:subClassOf and
otelos:subPropertyOf. This is actually done in O-Telos, as it does not
distinguish between subClassOf and subPropertyOf.
2.2.4.1 Comparison to RDF(S) and O-Telos.</p>
          <p>
            O-Telos-RDF treats otelos:subPropertyOf in basically the same
way as otelos:subclassOf (like O-Telos, which does not distinguish
these two concepts at all). This is also consistent with RDF(S),
so [
            <xref ref-type="bibr" rid="ref11">4</xref>
            ] defines rdfs:subPropertyOf very similar to rdfs:subClassOf.
In RDF(S) a statement with properties for subject and object and a
label with the value subPropertyOf declares the subject as
subproperty of the object ([
            <xref ref-type="bibr" rid="ref11">4</xref>
            ], rule 15), as is done in O-Telos-RDF, axioms
2.24 and 2.25, and in O-Telos, axioms 4 and 6. O-Telos and
OTelos-RDF declare a special set for the subPropertyOf-statements
(O-Telos-RDF, axiom 2.30, O-Telos axioms 28 and 21).
          </p>
          <p>
            In RDF(S) this relationship is transitive ([
            <xref ref-type="bibr" rid="ref11">4</xref>
            ], rule 16) and
without cycles ([
            <xref ref-type="bibr" rid="ref11">4</xref>
            ], rule 18). As with subClassOf, O-Telos-RDF
(axioms 2.26, 2.27 and 2.28) and O-Telos (axioms 10, 11 and 12)
define subPropertyOf as a partial order.
          </p>
          <p>
            Property membership in O-Telos-RDF is inherited upwardly to
the superclasses (axiom 2.29, corresponds to O-Telos axiom 13).
[
            <xref ref-type="bibr" rid="ref11">4</xref>
            ] has to define this by introducing new statements for
superproperties (rule 17), as no instantiation statements for properties exist in
RDF(S):
          </p>
          <p>Axioms 2.31 and 2.32 (corresponding to O-Telos axioms 15 and
16) do not exist in RDF(S).
2.3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Utility Concepts</title>
      <sec id="sec-3-1">
        <title>2.3.1 Sequences and Bags</title>
        <p>RDF(S) has additional utility constructs rdf:Seq and rdf:Bag,
used to express sequences and bags. In our opinion, rdf:Bag is not
really necessary, as multi-valued properties are expressed simply
by more than one instantiated property statement.</p>
        <p>As for rdf:Seq, the disadvantage of this construct is, that (similar
to the case of the Java Vector class) it introduces untyped relation
ends, if it is used as an explicit class. Because O-Telos-RDF has the
capability of defining properties with the domain otelos:property,
we will use this alternative way in O-Telos-RDF to express
sequences.</p>
        <p>To express sequences in O-Telos-RDF, we include an additional
type called otelos:ordinal. otelos:ordinal is a subclass of
otelos:literal. It specialises the literals by using only integer numbers
prefixed by “ ” as labels, starting with 1, 2, etc. The respective
statements use the label for sid, subject, predicate and object. For
example the statement s( 1, 1, 1, 1) represents the ordinal “ 1”.</p>
        <p>Furthermore we declare the new property otelos:sequence
with the statement
s(otelos:sequence,otelos:statement,sequence,otelos:ordinal)</p>
        <p>Example 7: Let us assume that we have a multivalued
property sid1, and that sid2, sid3 and sid4 are instantiations of that
property. Furthermore, we want to represent a sequencing between
these three property statements.</p>
        <p>We have the following property-statements:
s(sid1,Person,name,otelos:Literal)
s(sid2,JohnHarrySmith,name1,"John")
s(sid3,JohnHarrySmith,name2,"Harry")
s(sid4,JohnHarrySmith,name3,"Smith")
s(sid5,sid2,type,sid1)
s(sid6,sid3,type,sid1)
s(sid7,sid4,type,sid1)</p>
        <p>Then, the following statements specify the sequencing:
s(sid8,sid2,number,_1)
s(sid9,sid3,number,_2)
s(sid10,sid4,number,_3)</p>
        <p>sid4, sid5 and sid6 are of type otelos:sequence, specified by the
corresponding type-statements:
s(sid11,sid8,type,otelos:sequence)
s(sid12,sid9,type,otelos:sequence)
s(sid13,sid10,type,otelos:sequence)</p>
        <p>The XML serialization looks as follows:
&lt;otelos:OTELOS
xmlns:t="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-7#"
xmlns:otelos="http://www.kbs.uni-hannover.de
/otelos/2001/08/otelos-rdf-schema#"&gt;
&lt;otelos:Class ID="Person"&gt;</p>
        <p>&lt;name s="otelos:Literal"/&gt;
&lt;/otelos:Class&gt;
&lt;otelos:Individual ID="JohnHarrySmith"&gt;
&lt;type s="t:Person"/&gt;
&lt;name1 type="t:Person_name"&gt;John&lt;/name1&gt;
&lt;name2 type="t:Person_name"&gt;Harry&lt;/name2&gt;
&lt;name3 type="t:Person_name"&gt;Smith&lt;/name3&gt;
&lt;/otelos:Class&gt;
&lt;otelos:Property ID="JohnHarrySmith_name1"&gt;
&lt;number&gt;_1&lt;/number&gt;
&lt;/otelos:Property&gt;
&lt;otelos:Property ID="JohnHarrySmith_name2"&gt;
&lt;number&gt;_2&lt;/number&gt;
&lt;/otelos:Property&gt;
&lt;otelos:Property ID="JohnHarrySmith_name3"&gt;
&lt;number&gt;_3&lt;/number&gt;
&lt;/otelos:Property&gt;</p>
        <p>Alternatively, we could use a predefined XML-attribute
“number=”, to write this example in an even more abbreviated way:
&lt;otelos:OTELOS
xmlns:t="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-7#"
xmlns:otelos="http://www.kbs.uni-hannover.de
/otelos/2001/08/otelos-rdf-schema#"&gt;
&lt;otelos:Class ID="Person"&gt;</p>
        <p>&lt;name s="otelos:Literal"/&gt;
&lt;/otelos:Class&gt;
&lt;otelos:Individual ID="JohnHarrySmith"&gt;
&lt;type s="t:Person"/&gt;
&lt;name1 type="t:Person_name" number="_1"&gt;
John&lt;/name1&gt;
&lt;name2 type="t:Person_name" number="_2"&gt;
Harry&lt;/name2&gt;
&lt;name3 type="t:Person_name" number="_3"&gt;</p>
        <p>Smith&lt;/name3&gt;
&lt;/otelos:Class&gt;
or use an implicit sequencing of multivalued attributes based on
the textual order of the statements (which is actually the way
sequencing is handled in O-Telos), depending on the O-Telos-RDF
parser to generate the necessary sequencing triples for these
multivalued attributes:
&lt;otelos:OTELOS
xmlns:t="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-7#"
xmlns:otelos="http://www.kbs.uni-hannover.de
/otelos/2001/08/otelos-rdf-schema#"&gt;
&lt;otelos:Class ID="Person"&gt;</p>
        <p>&lt;name s="otelos:Literal"/&gt;
&lt;/otelos:Class&gt;
&lt;otelos:Individual ID="JohnHarrySmith"&gt;
&lt;type s="t:Person"/&gt;
&lt;name1 type="t:Person_name"&gt;John&lt;/name1&gt;
&lt;name2 type="t:Person_name"&gt;Harry&lt;/name2&gt;
&lt;name3 type="t:Person_name"&gt;Smith&lt;/name3&gt;
&lt;/otelos:Class&gt;
2.3.1.1 Comparison to RDF(S) and O-Telos.</p>
        <p>In order to state sequences, RDF(S) specifies the container
rdf:Seq. Instances of rdf:Seq group together the resources of a
sequence by using simple ordinal properties. O-Telos-RDF
simplifies this approach by using the possibility to state properties about
properties. Thus O-Telos-RDF avoids the introduction of untyped
containers like rdf:Seq which is preferrable for precise semantical
modelling.
2.4 Modelling the lecture Artificial
Intelligence</p>
        <p>The following example is taken from a model of our lectures.
For simplicity reasons it is a small part of the larger model only.</p>
        <p>On the class level it states that lecture units belong to a lecture.
Lecture units have a title and a description. A lecture unit consists
of theory pages, examples, etc. We also include simple subclasses
respectivly instances like AI lecture units, etc.</p>
        <p>We will start with the appropriate XML-serialisation using
RDF(S):</p>
        <p>In the following example the URIs of the namespaces rdf:, rdfs:,
s:, t: and otelos: are abbreviated with their names.
&lt;rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02
/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01
/rdf-schema#"
xmlns:s="http://www.kbs.uni-hannover.de/otelos
/2001/08/example-schema#"&gt;
&lt;rdf:Description ID="Lecture"&gt;</p>
        <p>&lt;rdf:type resource="rdfs:Class"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="LectureUnit"&gt;</p>
        <p>&lt;rdf:type resource="rdfs:Class"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="title"&gt;
&lt;rdf:type resource="rdf:Property"/&gt;
&lt;rdfs:range resource="rdfs:Literal"/&gt;
&lt;rdfs:domain resource="s:LectureUnit"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="description"&gt;
&lt;rdf:type resource="rdf:Property"/&gt;
&lt;rdfs:range resource="rdfs:Literal"/&gt;
&lt;rdfs:domain resource="s:LectureUnit"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="parentCourse"&gt;
&lt;rdf:type resource="rdf:Property"/&gt;
&lt;rdfs:range resource="s:Lecture"/&gt;
&lt;rdfs:domain resource="s:LectureUnit"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="theoryPage"&gt;
&lt;rdf:type resource="rdf:Property"/&gt;
&lt;rdfs:range resource="s:TheoryUnit"/&gt;
&lt;rdfs:domain resource="s:LectureUnit"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="parentUnit"&gt;
&lt;rdf:type resource="rdf:Property"/&gt;
&lt;rdfs:range resource="s:LectureUnit"/&gt;
&lt;rdfs:domain resource="s:TheoryUnit"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="TheoryUnit"&gt;</p>
        <p>&lt;rdf:type resource="rdfs:Class"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="AILecture"&gt;</p>
        <p>&lt;rdf:type resource="s:Lecture"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description ID="LectureUnit1"&gt;
&lt;rdf:type resource="s:LectureUnit"/&gt;
&lt;title&gt;Lecture Unit 1&lt;/title&gt;
&lt;description&gt;</p>
        <p>Introduction to intelligent agents
&lt;/description&gt;
&lt;parentCourse resource="s:AILecture"/&gt;
&lt;theoryPage</p>
        <p>resource="http://.../Definitions.htm"/&gt;
&lt;theoryPage
resource="http://.../Characterisation.htm"/&gt;
&lt;theoryPage</p>
        <p>resource="http://.../Structure.htm"/&gt;
&lt;theoryPage resource="http://.../Types.htm"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description</p>
        <p>about="http://.../Definitions.htm"&gt;
&lt;rdf:type resource="s:TheoryUnit"/&gt;
&lt;parentUnit resource="s:LectureUnit1"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description</p>
        <p>about="http://.../Characterisation.htm"&gt;
&lt;rdf:type resource="s:TheoryUnit"/&gt;
&lt;parentUnit resource="s:LectureUnit1"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description
about="http://.../Structure.htm"&gt;
&lt;rdf:type resource="s:TheoryUnit"/&gt;
&lt;parentUnit resource="s:LectureUnit1"/&gt;
&lt;/rdf:Description&gt;
&lt;rdf:Description about="http://.../Types.htm"&gt;
&lt;rdf:type resource="s:TheoryUnit"/&gt;
&lt;parentUnit resource="s:LectureUnit1"/&gt;
&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;</p>
        <p>In O-Telos-RDF, this example looks as follows:</p>
        <p>Membership in otelos:individual, otelos:property, otelos:type
etc. is automatically based on the syntactic form of the statements,
so we do not declare any explicit type-statements for these classes.
Type-statements for properties, where the instantiated properties
have the same label like the property definition, are introduced
automatically by the parser, as well as individual-statements of
all URLs used in this example. Type-statements for the
multiple instantiations of LectureUnit theoryPage are handled using the
“type=” XML-attribute.</p>
        <p>The statements of the RDF(S)-representation are generated by
the SiRPac [15] parser. The prefix online: represents constructs
without an URI, genid represents automatically generated IDs.</p>
        <p>(Note that we replaced the URIs in the example by the respective
namespaces in order to improve the readability.):</p>
        <p>Statement (subject,predicate,object)
s(online:Lecture,rdf:type,rdfs:Class)
s(online:LectureUnit,rdf:type,rdfs:Class))
s(online:title,rdf:type,rdf:Property))
s(online:genid2,resource,rdfs:Literal)
s(online:title,rdfs:range,online:genid2)
s(online:genid5,resource,s:LectureUnit)
s(online:title,domain,online:genid5)
s(online:description,type,rdf:Property)
s(online:genid8,resource,rdfs:Literal)
s(online:description,range,online:genid8)
s(online:genid11,resource,s:LectureUnit)
s(online:description,domain,online:genid11)
s(online:parentCourse,type,rdf:Property)
s(online:genid14,resource,s:Lecture)
s(online:parentCourse,range,online:genid14)
s(online:genid17,resource,s:LectureUnit)
s(online:parentCourse,domain,online:genid17)
s(online:parentUnit,type,rdf:Property)
s(online:genid20,resource,s:LectureUnit)
s(online:parentUnit,range,online:genid20)
s(online:genid23,resource,s:TheoryUnit)
s(online:parentUnit,domain,online:genid23)
s(online:theoryPage,type,rdf:Property)
s(online:genid26,resource,s:TheoryUnit)
s(online:theoryPage,range,online:genid26)
s(online:genid29,resource,s:LectureUnit)
s(online:theoryPage,domain,online:genid29)
s(online:TheoryUnit,type,rdfs:Class)
s(online:AILecture,type,s:Lecture)
s(online:LectureUnit1,type,s:LectureUnit)
s(online:LectureUnit1,online:title,Lecture Unit 1)
s(online:LectureUnit1,online:description,
Introduction to intelligent agents)
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54</p>
        <p>Statement (subject,predicate,object)
s(online:genid34,resource,s:AILecture)
s(online:LectureUnit1,online:parentCourse,
online:genid34)
s(online:genid37,resource,http://.../Definitions.htm)
s(online:LectureUnit1,online:theoryPage,
online:genid37)
s(online:genid40,resource,
http://.../Characterisation.htm)
s(online:LectureUnit1,online:theoryPage,
online:genid40)
s(online:genid43,resource,http://.../Structure.htm)
s(online:LectureUnit1,online:theoryPage,
online:genid43)
s(online:genid46,resource,http://.../Types.htm)
s(online:LectureUnit1,online:theoryPage,
online:genid46)
s(http://.../Definitions.htm,type,s:TheoryUnit)
s(online:genid50,resource,s:LectureUnit1)
s(http://.../Definitions.htm,online:parentUnit,
online:genid50)
s(http://.../Characterisation.htm,type,s:TheoryUnit)
s(online:genid54,resource,s:LectureUnit1)
s(http://.../Characterisation.htm,online:parentUnit,
online:genid54)
s(http://.../Structure.htm,type,s:TheoryUnit)
s(online:genid58,resource,s:LectureUnit1)
s(http://.../Structure.htm,online:parentUnit,
online:genid58)
s(http://.../Types.htm,type,s:TheoryUnit)
s(online:genid62,resource,s:LectureUnit1)
s(http://.../Types.htm,online:parentUnit,
online:genid62)</p>
        <p>The O-Telos-RDF statements generated from the
XMLrepresentation are appended below. For simplicity, statement IDs
are only referenced symbolically, but they can be derived from the
rules stated in the earlier sections.
s(sid1,sid1,Lecture,sid1)
s(sid2,sid2,LectureUnit,sid2)
s(sid3,sid2,title,otelos:Literal)
s(sid4,sid2,description,otelos:Literal)
s(sid5,sid2,parentCourse,sid1)
s(sid6,sid2,theoryPage,sid7)
s(sid7,sid7,TheoryUnit,sid7)
s(sid8,sid7,parentUnit,sid2)
s(sid9,sid9,AILecture,sid9)
s(sid10,sid9,type,sid1)
s(sid11,sid11,LectureUnit1,sid11)
s(sid12,sid11,type,sid2)
s(sid13,sid11,title,"Lecture Unit 1")
s(sid14,sid13,type,sid3)
s(sid15,sid11,description,</p>
        <p>"Introduction to intelligent agents")
s(sid16,sid15,type,sid4)
s(sid17,sid11,parentCourse,sid9)
s(sid18,sid17,type,sid5)
s(sid19,sid11,theoryPage1,sid27)
s(sid20,sid19,type,sid6)
s(sid21,sid11,theoryPage2,sid31)</p>
        <p>For simplicity reasons, we left out statements for declaring the
literals used as instances of otelos:literal. Similarly, all type
statements are instances of otelos:type, all individuals are instances of
otelos:individual and all properties are instances of otelos:property.
These statements can be deduced from the respective axioms.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>DISCUSSION</title>
      <p>In this paper we described the formalization of an RDF(S)
variant called O-Telos-RDF, which provides enhanced functionalities
for meta-modeling and reified statements. The formalization is
based very closely on the formalization of the modeling language
O-Telos, which is based on a semantic network model similar to
RDF(S). Axioms and constraints are clearly defined. In the longer
report, we include all these axioms in an appendix, together with
their counterparts in O-Telos and RDF(S). This exact formalization
will hopefully contribute to an understanding of both O-Telos-RDF
and (in this context) the current RDF(S) formalization.</p>
      <p>Compared with RDF, O-Telos-RDF shows its advantages in
allowing easier reification of statements, and in metamodelling
applications, where more than three abstraction hierarchies are needed.
Furthermore, the class centric approach to property definition
allows the definition of properties with the same name for different
domains, which have different ranges (not possible in RDF(S)).</p>
      <p>These properties seem to make O-Telos-RDF more similar to
DAML+OIL than RDF(S) is (in the sense that DAML+OIL is more
easily/naturally represented in O-Telos-RDF than in RDF(S)). A
detailed discussion of this relationship will be included in a
forthcoming report. Similarily, we will discuss reasoning
functionalitities for O-Telos-RDF, based on the Datalogn reasoning facilities
already present in O-Telos and ConceptBase.</p>
    </sec>
    <sec id="sec-5">
      <title>4. REFERENCES</title>
      <p>
        [1] J. R. Abrial. Data semantics. In Klimbie and Koffeman,
editors, Data Base Management. North-Holland Publ., 1974.
[
        <xref ref-type="bibr" rid="ref15">2</xref>
        ] T. Berners-Lee, R. Fielding, U.C. Irvine, and L. Masinter.
      </p>
      <p>Uniform Resource Identifiers (URI): Generic Syntax. In
Internet Official Protocol Standards (STD 1), RFC. The</p>
    </sec>
    <sec id="sec-6">
      <title>APPENDIX</title>
      <p>::=</p>
      <p>
        The basic XML-serialisation stated here resembles very closely
the basic XML-serialisation of RDF, given in the RDF Syntax and
Model Specification [
        <xref ref-type="bibr" rid="ref14 ref6">5</xref>
        ], in order to necessitate only minor changes
in current RDF parsers. It is used to express the O-Telos-RDF
statements in XML, and in its current form takes care of the primitive
types “Literal” and “Statement” (and their subclasses). Its main
purpose is the grouping of multiple statements for the same
resource into a description element using XML syntax.
      </p>
      <p>As in the RDF Syntax and Model Specification the OTELOS
element is a simple wrapper that marks the beginning and end of
O-Telos-RDF statements in an XML document.</p>
      <p>The EBNF of the basic O-Telos-RDF XML serialisation looks
as follows:
description
label
value
statementAttr
typeAttr
numberAttr
ordinal
number
statement
-reference
IDsymbol
name
NSprefix
string
7)
8)
9)</p>
      <p>OTELOS
desLabel
3)
4)
5)
6)
idAboutAttr
aboutAttr
idAttr
propertyElt
6a)
propertyEltExt
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=
::=</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>Internet Society, rfc 2396 edition</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          http://www.ietf.org/rfc2396.txt. [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. V.</given-names>
            <surname>Guha</surname>
          </string-name>
          . Resource Description
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>Framework (RDF) Schema Specification 1.0</article-title>
          . Technical
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>report, World Wide Web Consortium (W3C)</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          http://www.w3.org/TR/rdf-schema. [4]
          <string-name>
            <given-names>Wolfram</given-names>
            <surname>Conen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Reinhold</given-names>
            <surname>Klapsing</surname>
          </string-name>
          . A logical
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>volume 5</article-title>
          . Linko¨ping University Electronic Press, December
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>2000. http://www.ep.liu.se/ea/cis/2000/013/. [5] W3C Working Group. W3C Resource Description</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          http://www.w3.org/TR/REC-rdf-syntax/,
          <year>February 1999</year>
          . [6] ISO/IEC. Information technology - Information Resource
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Dictionary</surname>
          </string-name>
          <article-title>System (IRDS) framework</article-title>
          , ISO/IEC 10027,
          <year>1990</year>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>(E</surname>
          </string-name>
          ). [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          , R. Gallersdo¨rfer, M. Jeusfeld,
          <string-name>
            <given-names>M.</given-names>
            <surname>Staudt</surname>
          </string-name>
          , and
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          ,
          <volume>4</volume>
          (
          <issue>2</issue>
          ):
          <fpage>167</fpage>
          -
          <lpage>192</lpage>
          ,
          <year>1995</year>
          . [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jeusfeld</surname>
          </string-name>
          . A¨nderungskontrolle in deduktiven
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <year>1992</year>
          . [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jeusfeld</surname>
          </string-name>
          and
          <string-name>
            <given-names>ConceptBase</given-names>
            <surname>Team</surname>
          </string-name>
          . Application papers.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          , RWTH Aachen,
          <year>2000</year>
          . http://www-
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          i5.informatik.rwth-aachen.de/CBdoc/cblit.html#cb-app. [10]
          <string-name>
            <given-names>B.M.</given-names>
            <surname>Kramer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.K.</given-names>
            <surname>Chandhri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koubarakis</surname>
          </string-name>
          , T. Topaloglon,
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Bulletin</surname>
          </string-name>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ),
          <year>June 1991</year>
          . [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Koubarakis</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          ,
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <year>1990</year>
          . [12]
          <string-name>
            <surname>Wolfgang</surname>
            <given-names>Nejdl</given-names>
          </string-name>
          , Hadhami Dhraief, and Martin Wolpers.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>report</surname>
          </string-name>
          , University of Hannover,
          <year>July 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>hannover.de/Arbeiten/Publikationen/2001/kcap01-</mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          workshop.pdf. [13]
          <string-name>
            <surname>Wolfgang</surname>
            <given-names>Nejdl</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Martin</given-names>
            <surname>Wolpes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Capelle</surname>
          </string-name>
          . The
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <article-title>RDF schema specification revisited</article-title>
          .
          <source>In Modellierung</source>
          <year>2000</year>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>St. Goar</surname>
            , Germany,
            <given-names>April</given-names>
          </string-name>
          <year>2000</year>
          . http://www.kbs.uni-
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          hannover.de/Arbeiten/Publikationen/2000/modeling2000/wolpers.pdf. [14]
          <string-name>
            <surname>Jeff</surname>
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Pan</surname>
            and
            <given-names>Ian</given-names>
          </string-name>
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>Metamodeling architecture of</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <given-names>Working</given-names>
            <surname>Symposium</surname>
          </string-name>
          , pages
          <fpage>131</fpage>
          -
          <lpage>149</lpage>
          , Stanford,
          <year>July 2001</year>
          . [15]
          <string-name>
            <given-names>Janne</given-names>
            <surname>Saarela</surname>
          </string-name>
          .
          <article-title>SiRPAC - simple RDF parser &amp; compiler.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <source>World Wide Web Consortium (W3C)</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          http://w3c.org/RDF/Implementations/SiRPAC. [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarski</surname>
          </string-name>
          .
          <article-title>On the calculus of relations</article-title>
          .
          <source>Journal of Symbolic</source>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Logic</surname>
          </string-name>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ),
          <year>September 1941</year>
          . 9a)
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>9b)</mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>9c)</mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>9d)</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>