OIL

DAML-O (closest equivalent)

Notes and Examples

begin-ontology

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://www.w3.org/2000/08/daml-ont#"
>      

The DAML-O has slightly different semantics from the OIL.

end-ontology

</rdf:RDF>

ontology-definitions


      

As far as I can tell, this is not a terminal of the OIL grammar

import

import

Not yet implemented in DAML-O.

class-def

Class ID=...
<Class ID="Animal">
  <label>Animal</label>
  <comment>This class of animals is illustrative of a number of
	ontological idioms.</comment>
</Class>

documentation

comment
<comment>This is an example comment.</comment>

primitive


      

All definitions are primitive in DAML-O so far.

defined


      

@@Not in the current DAML

subclass-of

subClassOf
         
<subClassOf resource="#Animal"/>

Appears within a <Class ...>

top


      

@@#Resource or #Thing?

thing

#Thing

Properly, http://www.w3.org/2000/08/daml-ont#Thing, but commonly spelled #Thing in DAML-O documents.

bottom

#Nothing

Similarly, this is properly http://www.w3.org/2000/08/daml-ont#Nothing

slot-constraint


      

There is no exact match for this expression in DAML-O. Various OIL slot-constraint expressions have different syntaxes in DAML-O.

and

unionOf

@@syntax depends on LIST!

or

intersectionOf

@@syntax depends on LIST!

not

complementOf

@@syntax depends on LIST!

one-of

oneOf

@@syntax depends on LIST!

has-filler

restrictedBy/toValue

From Tall Thing,

<restrictedBy>
  <Restriction>
    <onProperty resource="#height"/>
    <toValue resource="#tall"/>
  </Restriction>
</restrictedBy>

has-value


      

@@??

value-type

restrictedBy/toClass

From Person,

<restrictedBy>
  <Restriction>
    <onProperty resource="#parent"/>
    <toClass resource="#Person"/>
  </Restriction>
</restrictedBy>

max-cardinality

maxCardinality

From occupation,

 <maxCardinality>1</maxCardinality>

min-cardinality

minCardinality

cardinality

cardinality

From father,

  <cardinality>1</cardinality>

disjoint

disjointFrom

From Female,

<disjointFrom resource="#Male"/>

In DAML, disjointFrom takes a single object. To express disjointness with a collection of sets, you'd need to use a unionOf as the object of disjointFrom.

covered by


      

@@Not in the current DAML

disjoint-covered by


      

@@Not in the current DAML

equivalent

equivalentTo

From mom,

<equivalentTo resource="#mother"/>

In DAML, a single equivalentTo gives only pairwise equivalence rather than OIL's more general equivalence set.

min


      

max


      

greater-than


      

less-than


      

equal


      

range


      

@@This is in the sense of range from 1 to 10, not in the sense of domain and, which is defined elsewhere.

slot-def

<Property ID=...>
<Property ID="parent">
  <domain resource="#Animal"/>
  <cardinality>2</cardinality>
</Property>

In DAML, not associated with a particular Class.

subslot-of

subProperty

From father,

  <subProperty resource="#parent"/>

domain

domain

From parent,

  <domain resource="#Animal"/>

For multiple domains the object of domain should be a unionOf expression.

range

range

From father,

  <range resource="#Man"/>

For multiple ranges, the object of range should be a unionOf expression. For concrete ranges, use oneOf or setOf expressions.

inverse

inverseOf

From child,

  <inverseOf resource="#parent"/>

properties


      

No syntactic equivalent in DAML currently. See transitive, functional.

transitive

<TransitiveProperty about=.../>

symmetric


      

Not defined in the initial round of DAML.

functional

<UniqueProperty about=.../>

instance-of


      

There is no DAML direct equivalent for this. Instead, use the Class name as the tag type. E.g.,

<Person ID="Adam"/>

related


      

There is no DAML direct equivalent for this. For the OIL

related has-mother Zachariah Zoe

use the DAML

<Person about="#Zachariah">
  <mother resource="#Zoe"/>
</Person>

integer, String

@@Waiting on XML concrete data types for this.