maxCardinality
for onProperty(R, P), maxCardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are at most n distinct j with P(i, j)
and type(j, X).
cf OIL MaxCardinality
minCardinality
for onProperty(R, P), minCardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are at least n distinct j with P(i, j)
and type(j, X).
cf OIL MinCardinality
for complementOf(X, Y) read: X is the complement of Y; if something is in Y,
then it's not in X, and vice versa.
cf OIL NOT
for item(L, I) read: I is an item in L; either first(L, I)
or item(R, I) where rest(L, R).
disjointUnionOf
for disjointUnionOf(X, Y) read: X is the disjoint union of the classes in
the list Y: (a) for any c1 and c2 in Y, disjointWith(c1, c2),
and (b) unionOf(X, Y). i.e. if something is in any of the classes in Y, it's
in X, and vice versa.
cf OIL disjoint-covered
unionOf
for unionOf(X, Y) read: X is the union of the classes in the list Y;
i.e. if something is in any of the classes in Y, it's in X, and vice versa.
cf OIL OR
for onProperty(R, P) and hasValue(R, V), read:
i is in class R if and only if P(i, V).
cf OIL HasFiller
for oneOf(C, L) read everything in C is one of the
things in L;
This lets us define classes by enumerating the members.
cf OIL OneOf
for onProperty(R, P) and toClass(R, X), read:
i is in class R if and only if for all j, P(i, j) implies type(j, X).
cf OIL ValueType
hasClass
for onProperty(R, P) and hasClass(R, X), read:
i is in class R if and only if for some j, P(i, j) and type(j, X).
cf OIL HasValue
cardinality
for onProperty(R, P), cardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are exactly n distinct j with P(i, j)
and type(j, X).
cf OIL Cardinality
cardinality
for onProperty(R, P) and cardinality(R, n), read:
i is in class R if and only if there are exactly n distinct j with P(i, j).
cf OIL Cardinality
for intersectionOf(X, Y) read: X is the intersection of the classes in the list Y;
i.e. if something is in all the classes in Y, then it's in X, and vice versa.
cf OIL AND
minCardinality
for onProperty(R, P) and minCardinality(R, n), read:
i is in class R if and only if there are at least n distinct j with P(i, j).
cf OIL MinCardinality
hasClassQ
property for specifying class restriction with cardinalityQ constraints
for onProperty(R, P), read:
R is a restricted with respect to property P.
for inverseOf(R, S) read: R is the inverse of S; i.e.
if R(x, y) then S(y, x) and vice versa.
cf OIL inverseRelationOf
disjointWith
for disjointWith(X, Y) read: X and Y have no members in common.
cf OIL Disjoint
maxCardinality
for onProperty(R, P) and maxCardinality(R, n), read:
i is in class R if and only if there are at most n distinct j with P(i, j).
cf OIL MaxCardinality
cardinality
for onProperty(R, P) and cardinality(R, n), read:
i is in class R if and only if there are exactly n distinct j with P(i, j).
cf OIL Cardinality
cardinality
for onProperty(R, P), cardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are exactly n distinct j with P(i, j)
and type(j, X).
cf OIL Cardinality
for complementOf(X, Y) read: X is the complement of Y; if something is in Y,
then it's not in X, and vice versa.
cf OIL NOT
disjointUnionOf
for disjointUnionOf(X, Y) read: X is the disjoint union of the classes in
the list Y: (a) for any c1 and c2 in Y, disjointWith(c1, c2),
and (b) unionOf(X, Y). i.e. if something is in any of the classes in Y, it's
in X, and vice versa.
cf OIL disjoint-covered
disjointWith
for disjointWith(X, Y) read: X and Y have no members in common.
cf OIL Disjoint
hasClass
for onProperty(R, P) and hasClass(R, X), read:
i is in class R if and only if for some j, P(i, j) and type(j, X).
cf OIL HasValue
hasClassQ
property for specifying class restriction with cardinalityQ constraints
for intersectionOf(X, Y) read: X is the intersection of the classes in the list Y;
i.e. if something is in all the classes in Y, then it's in X, and vice versa.
cf OIL AND
for inverseOf(R, S) read: R is the inverse of S; i.e.
if R(x, y) then S(y, x) and vice versa.
cf OIL inverseRelationOf
maxCardinality
for onProperty(R, P) and maxCardinality(R, n), read:
i is in class R if and only if there are at most n distinct j with P(i, j).
cf OIL MaxCardinality
maxCardinality
for onProperty(R, P), maxCardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are at most n distinct j with P(i, j)
and type(j, X).
cf OIL MaxCardinality
minCardinality
for onProperty(R, P) and minCardinality(R, n), read:
i is in class R if and only if there are at least n distinct j with P(i, j).
cf OIL MinCardinality
minCardinality
for onProperty(R, P), minCardinalityQ(R, n) and hasClassQ(R, X), read:
i is in class R if and only if there are at least n distinct j with P(i, j)
and type(j, X).
cf OIL MinCardinality
for onProperty(R, P), read:
R is a restricted with respect to property P.
for oneOf(C, L) read everything in C is one of the
things in L;
This lets us define classes by enumerating the members.
cf OIL OneOf
for onProperty(R, P) and toClass(R, X), read:
i is in class R if and only if for all j, P(i, j) implies type(j, X).
cf OIL ValueType
unionOf
for unionOf(X, Y) read: X is the union of the classes in the list Y;
i.e. if something is in any of the classes in Y, it's in X, and vice versa.
cf OIL OR
Disjoint
for type(L, Disjoint) read: the classes in L are pairwise disjoint.
i.e. if type(L, Disjoint), and C1 in L and C2 in L, then disjointWith(C1, C2).
cf OIL Disjoint
NonNegativeInteger
Nonnegative integers are used in cardinality restrictions
TransitiveProperty
if P is a TransitiveProperty, then if P(x, y) and P(y, z) then P(x, z).
cf OIL TransitiveProperty.
UnambiguousProperty
if P is an UnambiguousProperty, then if P(x, y) and P(z, y) then x=z.
aka injective. e.g. if nameOfMonth(m, "Feb")
and nameOfMonth(n, "Feb") then m and n are the same month.
UniqueProperty
compare with maxCardinality=1; e.g. integer successor:
if P is a UniqueProperty, then if P(x, y) and P(x, z) then y=z.
cf OIL FunctionalProperty.
$Id: daml+oil.daml,v 1.7 2001/01/26 16:35:30 mdean Exp $
the empty list; this used to be called Empty.
for equivalentTo(X, Y), read X is an equivalent term to Y.
for sameClassAs(X, Y), read X is an equivalent class to Y.
cf OIL Equivalent
for samePropertyAs(P, R), read P is an equivalent property to R.
Thing
<rdfs:Class rdf:about="#Nothing"></rdfs:Class>
<rdfs:Class>
<complementOf rdf:resource="#Nothing"></complementOf>
</rdfs:Class>
The most general class in DAML.
This is equal to the union of any class and its complement.
Ontology
An Ontology is a document that describes
a vocabulary of terms for communication between
(human and) automated agents.
the class with no things in it.
imports
for imports(X, Y) read: X imports Y;
i.e. X asserts the* contents of Y by reference;
i.e. if imports(X, Y) and you believe X and Y says something,
then you should believe it.
Note: "the contents" is, in the general case,
an il-formed definite description. Different
interactions with a resource may expose contents
that vary with time, data format, preferred language,
requestor credentials, etc. So for "the contents",
read "any contents".
versionInfo
generally, a string giving information about this
version; e.g. RCS/CVS keywords
Restriction
something is in the class R if it satisfies the attached restrictions,
and vice versa.