DAML/RDF: a semantics and 2 more syntaxes

In response to a recent request for a semantics for DAML:

 [[[
 OK, here is where I feel that I must put in a
 scream for formality, or at least clarity.

 What does it matter whether the name is equivalentTo,
 renames, aliasOf, or frobaz?  What matters, as far as
 I can see, is what the meaning of "equivalentTo" is.
 ]]]

  -- www-rdf-logic@w3.org from October 2000: Re: semantics of daml:e
  http://lists.w3.org/Archives/Public/www-rdf-logic/2000Oct/0030.html
  Fri, 13 Oct 2000 16:57:58 GMT

which was seconded:

 [[[
 Well said. I agree with Peter here that we have to have some
 account  of meaning which goes a little higher than
 implementation.
 ]]]

  -- www-rdf-logic@w3.org from October 2000: Re: semantics of daml:e
  http://lists.w3.org/Archives/Public/www-rdf-logic/2000Oct/0032.html
  Fri, 13 Oct 2000 17:38:05 GMT

I'll share my my understanding of RDF semantics, and
hence DAML semantics. Please understand that this
is my own personal view of DAML/RDF; Jim H. has
made it clear that DAML doesn't (yet) specify
any one semantics, and lots of folks (including
my co-authors!) have disagreed, in large or
small part, with the position I take;
to whit:

	[[[
	In [KIF] terminology, an RDF document is an atomic,
	simple, ground, knowledge base, restricted to
	2-place predicates.
	]]]

	-- section 6. A Logic built on RDF-NF 
	of An Agent Markup Languagee version 0.5 draft
	http://www.w3.org/2000/07/DAML-0-5#Building

To elaborate slightly: an RDF document is a serialization
of a graph. To understand it, you parse the serialized
form into a graph, and then consider each arc
from s to o labelled p to be a KIF sentence (p s o);
pretty much the same as a prolog fact p(s, o).
p, s, o are URIs.

The RDF syntax doesn't name some of the vertices,
so in the general case, the graph is an existential
statement
	(exists (?n1 ?n2 ?n3 ...)
	  (p1 ?n1 o1)
	  (p2 ?n2 ?n1)
	  (p3 o2 ?n3)
	  ...
	)

Further details are given in

  Knowledge Interchange Format (KIF) -- an RDF Schema
  http://www.w3.org/2000/07/hs78/KIF
  Mon, 14 Aug 2000 18:47:44 GMT

[while I was working on this KIF/RDF stuff, I discovered
that reification in RDF is sorta confused/broken.
I need to study the details further, but if you
have concerns about use-vs.-mention in
the RDF spec, I share them, but I think they
can be fixed.]

In particular, I regard daml:equivalentTo as
having the same semantics as (= X Y) in KIF.
i.e.

  (defrelation http://www.daml.org/2000/10/daml-ont#equivalentTo (?x ?y)
	:= (= ?x ?y) )

As to the semantics of what happens when you
have two different RDF documents, which may
have different sources, or may express
conflicting sentences etc., the RDF 1.0
spec is silent on the issue. The DAML
spec does raise the issue, in the specification
of daml:imports. I haven't polished up
the details yet, as I said[0005], I have a larch
specification for how it works.

[0005] Assertion by reference
	Dan Connolly (Wed, Oct 11 2000) 
http://lists.w3.org/Archives/Public/www-rdf-logic/2000Oct/0005.html


The recent suggestion[026] that defined classes can be
expressed without quoting/reification seems to
suggest that DAML consumers be allowed to
rely on information from the XML serialization about
which properties were stated where. If you
want to use RDF APIs and tools, that won't work.
This information disappears when an RDF document is
parsed into a graph.

[0026] Peter F. Patel-Schneider
Thu, 12 Oct 2000 14:29:25 -0400
 http://lists.w3.org/Archives/Public/www-rdf-logic/2000Oct/0026.html

To rely on that information would be akin to relying
on the difference between

	(domain prop1 ClassX)
	(range prop1 ClassY)

and

	(and
	 (domain prop1 ClassX)
	 (range prop1 ClassY)
	)

To illustrate the semantics of RDF independent
from the RDF 1.0 serialization syntax, I give
you two other syntaxes to consider.

One is KIF (with a small wrinkle about the case-sensitivity
of identifiers.) Attached find an automated transliteration of
daml-ont.daml,v 1.2 2000/10/11 06:30:02
and daml-ex.daml,v 1.2 2000/10/07 03:21:17
into KIF syntax. They is produced using XSLT and Java
from daml-ont.daml by (and unreleased tweak of)
the tools described in http://www.w3.org/2000/07/hs78/KIF .

Another is something TimBL and I just made up recently:

 [[[
 Notation 3

 This is not designed as an alternative to RDF's XML syntax which has
 the fundamental advantage that it is in XML. This is an academic
 excercise in language designed for a human-readable and scribblable
 language.

 A random name for a random new notation for RDF and logic. Aim: to
 optimize expression of data and logic in the same language.

 ]]]
 
  -- Notation 3 -- Ideas about Web architecture
  http://www.w3.org/DesignIssues/Notation3
  Fri, 13 Oct 2000 05:56:13 GMT


Here's a little example of it, patterned after daml-ex:

===========
bind default <http://www.daml.org/2000/10/daml-ont/>

<> a Ontology;
  versionInfo "v1";
  comment "fun with classes and properties";
  imports <http://www.daml.org/2000/10/daml-ont>

:Animal a Class;
  label "Animal";
  comment "illustrative"

:Person a Class;
  subClassOf :Animal;
  restrictedBy [ onProperty :parent; toClass :Person ]


===========

Machine translation into DAML/RDF is also attached.

-- 
bind default <http://www.w3.org/People/Connolly/kb>
<mailto:connolly@w3.org> is mailbox of 
  [a Person; called "Dan Connolly";
  affiliation [ a Consortium; called "W3C";
	     homePage <http://www.w3.org> ];
  homePage <http://www.w3.org/People/Connolly/>;
  officePhone <tel:+1-913-491-0501>;
  pager <mailto:connolly.pager@w3.org> ]
(http://www.daml.org/2000/10/daml-ont#versionInfo http://www.daml.org/2000/10/daml-ont "$Id: daml-ont.daml,v 1.2 2000/10/11 06:30:02 connolly Exp $" )
(http://www.daml.org/2000/10/daml-ont#imports http://www.daml.org/2000/10/daml-ont http://www.w3.org/2000/01/rdf-schema )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Thing )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#Thing "Thing" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Thing "The most general class in DAML." )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Nothing )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Nothing "the class with no things in it." )
(http://www.daml.org/2000/10/daml-ont#complementOf http://www.daml.org/2000/10/daml-ont#Nothing http://www.daml.org/2000/10/daml-ont#Thing )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#disjointWith )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#disjointWith "disjointWith" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#disjointWith "for disjointWith(X, Y) read: X and Y have no members
	in common.
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#disjointWith http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#disjointWith http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Disjoint )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#Disjoint "Disjoint" )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Disjoint http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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).
  " )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#unionOf )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#unionOf "unionOf" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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" )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#unionOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#unionOf http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#disjointUnionOf )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#disjointUnionOf "disjointUnionOf" )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#disjointUnionOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#disjointUnionOf http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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) i.e. if something is in any of the classes in Y, it's
    in X, and vice versa.

    cf OIL disjoint-covered
  " )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#intersectionOf )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#intersectionOf "
    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" )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#intersectionOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#intersectionOf http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#complementOf )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#complementOf "
    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" )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#complementOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#complementOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#List http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#oneOf )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#oneOf "for oneOf(C, L) read everything in C is one of the
     things in L;
     This lets us define classes by enumerating the members.
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#oneOf http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#oneOf http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Empty )
(http://www.daml.org/2000/10/daml-ont#asClass http://www.daml.org/2000/10/daml-ont#Empty http://www.daml.org/2000/10/daml-ont#Nothing )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#first )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#first http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#rest )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#rest http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#rest http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#item )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#item "for item(L, I) read: I is an item in L; either first(L, I)
    or item(R, I) where rest(L, R)." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#item http://www.daml.org/2000/10/daml-ont#List )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#cardinality )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#cardinality "cardinality" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#cardinality "for cardinality(P, N) read: P has cardinality N; i.e.
    everything x in the domain of P has N things y such that P(x, y).
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#cardinality http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#maxCardinality )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#maxCardinality "maxCardinality" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#maxCardinality "for maxCardinality(P, N) read: P has maximum cardinality N; i.e.
    everything x in the domain of P has at most N things y such that P(x, y).
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#maxCardinality http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#minCardinality )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#minCardinality "for minCardinality(P, N) read: P has minimum cardinality N; i.e.
    everything x in the domain of P has at least N things y such that P(x, y).
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#minCardinality http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#inverseOf )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#inverseOf "for inverseOf(R, S) read: R is the inverse of S; i.e.
     if R(x, y) then S(y, x) and vice versa." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#inverseOf http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#inverseOf http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#TransitiveProperty )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#UniqueProperty )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#UniqueProperty "UniqueProperty" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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.
	aka functional.
  " )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#UniqueProperty http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#UnambiguousProperty )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#UnambiguousProperty "UnambiguousProperty" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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.
  " )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#UnambiguousProperty http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Restriction )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#restrictedBy )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#restrictedBy "restrictedBy" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#restrictedBy "for restrictedBy(C, R), read: C is restricted by R; i.e. the
	restriction R applies to c;

        if onProperty(R, P) and toValue(R, V)
        then for every i in C, we have P(i, V).

        if onProperty(R, P) and toClass(R, C2)
        then for every i in C and for all j, if P(i, j) then type(j, C2).
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#restrictedBy http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#restrictedBy http://www.daml.org/2000/10/daml-ont#Restriction )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#onProperty )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#onProperty "for onProperty(R, P), read:
   R is a restriction/qualification on P." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#onProperty http://www.daml.org/2000/10/daml-ont#Restriction )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#onProperty http://www.daml.org/2000/10/daml-ont#Qualification )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#onProperty http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#toValue )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#toValue "for toValue(R, V), read: R is a restriction to V." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#toValue http://www.daml.org/2000/10/daml-ont#Restriction )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#toValue http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#toClass )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#toClass "for toClass(R, C), read: R is a restriction to C." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#toClass http://www.daml.org/2000/10/daml-ont#Restriction )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#toClass http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Qualification )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#qualifiedBy )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#qualifiedBy "qualifiedBy" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#qualifiedBy "for qualifiedBy(C, Q), read: C is qualified by Q; i.e. the
	qualification Q applies to C;

        if onProperty(Q, P) and hasValue(Q, C2)
        then for every i in C, there is some V
	so that type(V, C2) and P(i, V).
  " )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#qualifiedBy http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#qualifiedBy http://www.daml.org/2000/10/daml-ont#Qualification )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#hasValue )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#hasValue "hasValue" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#hasValue "for hasValue(Q, C), read: Q is a hasValue
   qualification to C." )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#hasValue http://www.daml.org/2000/10/daml-ont#Qualification )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#hasValue http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Ontology )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#Ontology "Ontology" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Ontology "An Ontology is a document that describes
	a vocabulary of terms for communication between
	(human and) automated agents.
  " )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#versionInfo )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#versionInfo "versionInfo" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#versionInfo "generally, a string giving information about this
	version; e.g. RCS/CVS keywords
  " )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#imports )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#imports "imports" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#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\".
  " )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#equivalentTo )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#equivalentTo "for equivalentTo(X, Y), read X is an equivalent term to Y.
  " )
(http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#subPropertyOf )
(http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#subClassOf )
(http://www.daml.org/2000/10/daml-ont#Ontology http://www.daml.org/2000/10/daml-ont )
(http://www.daml.org/2000/10/daml-ont#imports http://www.daml.org/2000/10/daml-ont http://www.w3.org/2000/01/rdf-schema )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#subPropertyOf )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.w3.org/2000/01/rdf-schema#subPropertyOf )
(http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.w3.org/2000/01/rdf-schema#subPropertyOf )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Class )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#Class http://www.w3.org/2000/01/rdf-schema#Class )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Literal )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#Literal http://www.w3.org/2000/01/rdf-schema#Literal )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Property )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#Property http://www.w3.org/1999/02/22-rdf-syntax-ns#Property )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#type )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#type http://www.w3.org/1999/02/22-rdf-syntax-ns#type )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#value )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#value http://www.w3.org/1999/02/22-rdf-syntax-ns#value )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#subClassOf )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#subClassOf http://www.w3.org/2000/01/rdf-schema#subClassOf )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#domain )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#domain http://www.w3.org/2000/01/rdf-schema#domain )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#range )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#range http://www.w3.org/2000/01/rdf-schema#range )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#label )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#label http://www.w3.org/2000/01/rdf-schema#label )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#comment )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#comment http://www.w3.org/2000/01/rdf-schema#comment )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#seeAlso )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#seeAlso http://www.w3.org/2000/01/rdf-schema#seeAlso )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#isDefinedBy )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#isDefinedBy http://www.w3.org/2000/01/rdf-schema#isDefinedBy )
(http://www.daml.org/2000/10/daml-ont#subPropertyOf http://www.daml.org/2000/10/daml-ont#isDefinedBy http://www.daml.org/2000/10/daml-ont#seeAlso )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#default )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#default "default" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#default "default(X, Y) suggests that Y be considered a/the default
	value for the X property. This can be considered
	documentation (ala label, comment) but we don't specify
	any logical impact.
  " )
(http://www.daml.org/2000/10/daml-ont#Ontology http://www.daml.org/2000/10/daml-ont )
(http://www.daml.org/2000/10/daml-ont#versionInfo http://www.daml.org/2000/10/daml-ont "$Id: daml-ex.daml,v 1.2 2000/10/07 03:21:17 connolly Exp $" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont "An example ontology" )
(http://www.daml.org/2000/10/daml-ont#imports http://www.daml.org/2000/10/daml-ont http://www.daml.org/2000/10/daml-ont )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Animal )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#Animal "Animal" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Animal "This class of animals is illustrative of a number of
	ontological idioms." )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Male )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Male http://www.daml.org/2000/10/daml-ont#Animal )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Female )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Female http://www.daml.org/2000/10/daml-ont#Animal )
(http://www.daml.org/2000/10/daml-ont#disjointFrom http://www.daml.org/2000/10/daml-ont#Female http://www.daml.org/2000/10/daml-ont#Male )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#parent )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#parent http://www.daml.org/2000/10/daml-ont#Animal )
(http://www.daml.org/2000/10/daml-ont#cardinality http://www.daml.org/2000/10/daml-ont#parent "2" )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Person )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Person http://www.daml.org/2000/10/daml-ont#Animal )
(exists (?N64 )
(http://www.daml.org/2000/10/daml-ont#restrictedBy http://www.daml.org/2000/10/daml-ont#Person http://www.daml.org/2000/10/_:N64 )
(http://www.daml.org/2000/10/daml-ont#Restriction http://www.daml.org/2000/10/_:N64 )
(http://www.daml.org/2000/10/daml-ont#onProperty http://www.daml.org/2000/10/_:N64 http://www.daml.org/2000/10/daml-ont#parent )
(http://www.daml.org/2000/10/daml-ont#toClass http://www.daml.org/2000/10/_:N64 http://www.daml.org/2000/10/daml-ont#Person )
)
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#father )
(http://www.daml.org/2000/10/daml-ont#subProperty http://www.daml.org/2000/10/daml-ont#father http://www.daml.org/2000/10/daml-ont#parent )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#father http://www.daml.org/2000/10/daml-ont#Man )
(http://www.daml.org/2000/10/daml-ont#cardinality http://www.daml.org/2000/10/daml-ont#father "1" )
(http://www.daml.org/2000/10/daml-ont#UniqueProperty http://www.daml.org/2000/10/daml-ont#mother )
(http://www.daml.org/2000/10/daml-ont#subProperty http://www.daml.org/2000/10/daml-ont#mother http://www.daml.org/2000/10/daml-ont#parent )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#mother http://www.daml.org/2000/10/daml-ont#Woman )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#child )
(http://www.daml.org/2000/10/daml-ont#inverseOf http://www.daml.org/2000/10/daml-ont#child http://www.daml.org/2000/10/daml-ont#parent )
(http://www.daml.org/2000/10/daml-ont#TransitiveProperty http://www.daml.org/2000/10/daml-ont#ancestor )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#ancestor "ancestor" )
(http://www.daml.org/2000/10/daml-ont#TransitiveProperty http://www.daml.org/2000/10/daml-ont#descendant )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#mom )
(http://www.daml.org/2000/10/daml-ont#equivalentTo http://www.daml.org/2000/10/daml-ont#mom http://www.daml.org/2000/10/daml-ont#mother )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#occupation )
(http://www.daml.org/2000/10/daml-ont#maxCardinality http://www.daml.org/2000/10/daml-ont#occupation "1" )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Car )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Car "no car is a person" )
(exists (?N139 )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Car http://www.daml.org/2000/10/_:N139 )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/_:N139 )
(http://www.daml.org/2000/10/daml-ont#complementOf http://www.daml.org/2000/10/_:N139 http://www.daml.org/2000/10/daml-ont#Person )
)
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Man )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Man http://www.daml.org/2000/10/daml-ont#Person )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Man http://www.daml.org/2000/10/daml-ont#Male )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Woman )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Woman http://www.daml.org/2000/10/daml-ont#Person )
(http://www.daml.org/2000/10/daml-ont#subClassOf http://www.daml.org/2000/10/daml-ont#Woman http://www.daml.org/2000/10/daml-ont#Female )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Person )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Person "every person is a man or a woman" )
(http://www.daml.org/2000/10/daml-ont#disjointUnionOf http://www.daml.org/2000/10/daml-ont#Person http://www.daml.org/2000/10/daml-ont#Man )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Man )
(http://www.daml.org/2000/10/daml-ont#disjointUnionOf http://www.daml.org/2000/10/daml-ont#Person http://www.daml.org/2000/10/daml-ont#Woman )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Woman )
(http://www.daml.org/2000/10/daml-ont#Person http://www.daml.org/2000/10/daml-ont#Adam )
(http://www.daml.org/2000/10/daml-ont#label http://www.daml.org/2000/10/daml-ont#Adam "Adam" )
(http://www.daml.org/2000/10/daml-ont#comment http://www.daml.org/2000/10/daml-ont#Adam "Adam is a person." )
(http://www.daml.org/2000/10/daml-ont#Property http://www.daml.org/2000/10/daml-ont#height )
(http://www.daml.org/2000/10/daml-ont#domain http://www.daml.org/2000/10/daml-ont#height http://www.daml.org/2000/10/daml-ont#Person )
(http://www.daml.org/2000/10/daml-ont#range http://www.daml.org/2000/10/daml-ont#height http://www.daml.org/2000/10/daml-ont#Height )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Height )
(http://www.daml.org/2000/10/daml-ont#oneOf http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#short )
(http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#short )
(http://www.daml.org/2000/10/daml-ont#oneOf http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#medium )
(http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#medium )
(http://www.daml.org/2000/10/daml-ont#oneOf http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#tall )
(http://www.daml.org/2000/10/daml-ont#Height http://www.daml.org/2000/10/daml-ont#tall )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#TallThing )
(exists (?N228 )
(http://www.daml.org/2000/10/daml-ont#restrictedBy http://www.daml.org/2000/10/daml-ont#TallThing http://www.daml.org/2000/10/_:N228 )
(http://www.daml.org/2000/10/daml-ont#Restriction http://www.daml.org/2000/10/_:N228 )
(http://www.daml.org/2000/10/daml-ont#onProperty http://www.daml.org/2000/10/_:N228 http://www.daml.org/2000/10/daml-ont#height )
(http://www.daml.org/2000/10/daml-ont#toValue http://www.daml.org/2000/10/_:N228 http://www.daml.org/2000/10/daml-ont#tall )
)
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#TallMan )
(http://www.daml.org/2000/10/daml-ont#intersectionOf http://www.daml.org/2000/10/daml-ont#TallMan http://www.daml.org/2000/10/daml-ont#TallThing )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#TallThing )
(http://www.daml.org/2000/10/daml-ont#intersectionOf http://www.daml.org/2000/10/daml-ont#TallMan http://www.daml.org/2000/10/daml-ont#Man )
(http://www.daml.org/2000/10/daml-ont#Class http://www.daml.org/2000/10/daml-ont#Man )
<web:RDF
   xmlns:web="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:g="http://www.w3.org/2000/10/n3/notation3.py#"
   g:genbase="http://example.org/gen/"
  ><web:Description
     about=""
    ><type
       xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
       resource="http://www.daml.org/2000/10/daml-ont/#Ontology"
    /><versionInfo
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
      >v1</versionInfo
    ><comment
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
      >fun with classes and properties</comment
    ><imports
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
       resource="http://www.daml.org/2000/10/daml-ont"
    /></web:Description
  ><web:Description
     about="#Animal"
    ><type
       xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
       resource="http://www.daml.org/2000/10/daml-ont/#Class"
    /><label
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
      >Animal</label
    ><comment
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
      >illustrative</comment
    ></web:Description
  ><web:Description
     about="#Person"
    ><type
       xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
       resource="http://www.daml.org/2000/10/daml-ont/#Class"
    /><subClassOf
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
       resource="#Animal"
    /></web:Description
  ><web:Description
     about="http://example.org/gen/1"
    ><onProperty
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
       resource="#parent"
    /><toClass
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
       resource="#Person"
    /></web:Description
  ><web:Description
     about="#Person"
    ><restrictedBy
       xmlns="http://www.daml.org/2000/10/daml-ont/#"
       resource="http://example.org/gen/1"
    /></web:Description
  ></web:RDF
>

Received on Friday, 13 October 2000 17:17:19 UTC