<OML>
<Ontology id=“OML” version=“0.3”>
<comment>
This is
the basic (root) ontology for the core part of OML, the
Ontology Markup Language. This specification contains only the
limited
axiomatization of the sequents of Information Flow. For an example
of
a
fuller axiomatization of core OML, see the OML
Axiomatics.
</comment>
/*
object types */
<Type.Object name=“Thing”/>
<Type.Object name=“Type”/>
<Type.Object name=“Type.Entity”/>
<Type.Object name=“Type.Object”>
<comment>
This
is the generic concept of a type of objects. When an ontology
defines a new object type, the object representing that object type
must
be declared as an instance of this meta-object type. Meta-object
types such as this can also be
identified with the least common
supertype of its meta-extent.
/*
much like a generator a of an order ideal a¯ */
</comment>
</Type.Object>
<Type.Object name=“Type.Data”/>
<Type.Object name=“Type.BinaryRelation”/>
<Type.Object name=“Type.Function”/>
<Type.Object name=“Instance”/>
<Type.Object name=“Instance.BinaryRelation”/>
<Type.Object name=“Instance.Function”/>
<Type.Object name=“Instance.Entity”/>
<Type.Object name=“Instance.Object”/>
<Type.Object name=“Instance.Data”>
<comment>The same as a data value or a
literal.</comment>
</Type.Object>
/*
data types */
<Type.Data name=“String”/>
<Type.Data name=“Boolean”>
<value name=“true”/>
<value name=“false”/>
</Type.Data>
<Type.Data name=“Integer”/>
<Type.Data name=“Real”/>
<Type.Data name=“DateTime”/>
/*
binary relation types */
<Type.BinaryRelation name=“classification.BinaryRelation”
source.Type=“Instance.BinaryRelation”
target.Type=“Type.BinaryRelation”/>
<Type.BinaryRelation name=“classification.Entity”
source.Type=“Instance.Entity”
target.Type=“Type.Entity”>
<comment>
This
indicates that an entity is a member of an entity type, and thus
has
all of the properties of that type. It is a binary relation
between entity instances and entity types that is closed on the
right: If entity x is an instance of type A and A is a subtype of
type
B, then entity x is also an instance of type B.
</comment>
</Type.BinaryRelation>
<Type.BinaryRelation name=“classification.Object”
source.Type=“Instance.Object”
target.Type=“Type.Object”/>
<Type.BinaryRelation name=“subtype.BinaryRelation”
source.Type=“Type.Entity”
target.Type=“Type.Entity”/>
<Type.BinaryRelation name=“subtype.Entity”
source.Type=“Type.Entity”
target.Type=“Type.Entity”>
<comment>
The
subtype binary relation between entity types. It is a reflexive,
transitive binary relation between categories. It is not necessarily
antisymmetric because of synonymy.
</comment>
</Type.BinaryRelation>
<Type.BinaryRelation name=“comment”
source.Type=“Thing”
target.Type=“String”>
<comment>
The
comment binary relation between things and strings.
</comment>
</Type.BinaryRelation>
/*
function types */
<Type.Function name=“source.Type”
source.Type=“Type.BinaryRelation”
target.Type=“Type.Entity”>
<comment>Specifies the source type of a binary
relation.</comment>
</Type.Function>
<Type.Function name=“target.Type”
source.Type=“Type.BinaryRelation”
target.Type=“Type.Entity”>
<comment>Specifies the target type of a binary
relation.</comment>
</Type.Function>
<Type.Function name=“source.Instance”
source.Type=“Instance.BinaryRelation”
target.Type=“Instance.Entity”/>
<Type.Function name=“target.Instance”
source.Type=“Instance.BinaryRelation”
target.Type=“Instance.Entity”/>
<Type.Function name=“name”
source.Type=“Type”
target.Type=“String”>
<comment>Specifies the ontological name of a
type.</comment>
</Type.Function>
<Type.Function name=“id”
source.Type=“Instance”
target.Type=“String”>
<comment>Specifies the ontological name of an
instance.</comment>
</Type.Function>
/*
sequents */
<subtype.Entity specific=“Type” generic=“Thing”/>
<subtype.Entity specific=“Type.BinaryRelation”
generic=“Type”/>
<subtype.Entity specific=“Type.Function”
generic=“Type.BinaryRelation”/>
<subtype.Entity specific=“Type.Entity” generic=“Type”/>
<subtype.Entity specific=“Type.Object” generic=“Type.Entity”/>
<subtype.Entity specific=“Type.Data” generic=“Type.Entity”/>
<subtype.Entity specific=“Instance” generic=“Thing”/>
<subtype.Entity specific=“Instance.BinaryRelation”
generic=“Instance”/>
<subtype.Entity
specific=“Instance.Function” generic=“Instance.BinaryRelation”/>
<subtype.Entity specific=“Instance.Entity”
generic=“Instance”/>
<subtype.Entity specific=“Instance.Object”
generic=“Instance.Entity”/>
<subtype.Entity specific=“Instance.Data” generic=“Instance.Entity”/>
<subtype.BinaryRelation
specific=“classification.BinaryRelation”
generic=“classification”/>
<subtype.BinaryRelation
specific=“classification.Entity” generic=“classification”/>
<subtype.BinaryRelation
specific=“classification.Object”
generic=“classification.Entity”/>
<subtype.BinaryRelation
specific=“subtype.BinaryRelation” generic=“subtype”/>
<subtype.BinaryRelation
specific=“subtype.Entity” generic=“subtype”/>
</Ontology>
</OML>
|