N3 version of daml+oil.daml

From: Jim Hendler (jhendler@darpa.mil)
Date: 06/14/01


Folks- wanted a more readable version of daml+oil, so I sent it 
through the N3 converter.  It comes out pretty well, except for one 
oddity - instead of using the normal colon prefix, we did something 
that causes it to come out with the full URIs - that is we get
   <http://www.daml.org/2001/03/daml+oil.daml#Class>     a rdfs:Class;
instead of
  :Class a rdfs:Class;

Two easy things could fix this - an editing macro that fixes the 
daml+oil.daml file, or a fix to Dan's python code that can somehow 
recongize and fix this.
  Any takes - would be a nice document to add to our daml+oil release page
  -Jim H.




>#Processed by Id: cwm.py,v 1.54 2001/06/01 07:50:20 connolly Exp
>         #    using base file:/home/web/le-dev/www/archives/
>
>#  Notation3 generation by
>#       notation3.py,v 1.82 2001/06/01 07:52:40 connolly Exp
>
>#   Base was: file:/home/web/le-dev/www/archives/
>     #RDF parsed by Id: sax2rdf.py,v 1.3 2001/06/01 13:58:57 connolly Exp
>          @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>      @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>      @prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
>      @prefix : <http://www.daml.org/2001/03/daml+oil#> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml>     :versionInfo 
>"$Id: daml+oil.daml,v 1.7 2001/06/06 01:38:21 mdean Exp $";
>          :imports <http://www.w3.org/2000/01/rdf-schema> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Class>     a rdfs:Class;
>          rdfs:label "Class";
>          rdfs:comment """
>     The class of all \"object\" classes
>   """;
>          rdfs:subClassOf rdfs:Class .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Datatype>     a rdfs:Class;
>          rdfs:label "Datatype";
>          rdfs:comment """
>     The class of all datatype classes
>   """;
>          rdfs:subClassOf rdfs:Class .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Thing>     a :Class;
>          rdfs:label "Thing";
>          rdfs:comment """
>     The most general (object) class in DAML.
>     This is equal to the union of any class and its complement.
>   """ .
>
>     this     <http://www.w3.org/2000/10/swap/log#forSome> <#_g0> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Thing>     :unionOf <#_g0> .
>
>     <#_g0>     :first <http://www.daml.org/2001/03/daml+oil.daml#Nothing> .
>
>     this     <http://www.w3.org/2000/10/swap/log#forSome> <#_g1> .
>
>     <#_g0>     :rest <#_g1> .
>
>     this     <http://www.w3.org/2000/10/swap/log#forSome> <#_g2> .
>
>     <#_g1>     :first <#_g2> .
>
>     <#_g2>     :complementOf 
><http://www.daml.org/2001/03/daml+oil.daml#Nothing> .
>
>     <#_g1>     :rest () .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Nothing>     a :Class;
>          rdfs:label "Nothing";
>          rdfs:comment "the class with no things in it.";
>          :complementOf <http://www.daml.org/2001/03/daml+oil.daml#Thing> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#equivalentTo>     a :Property;
>          rdfs:label "equivalentTo";
>          :comment """
>     for equivalentTo(X, Y), read X is an equivalent term to Y.
>   """ .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#sameClassAs>     a :Property;
>          rdfs:label "sameClassAs";
>          :comment """
>     for sameClassAs(X, Y), read X is an equivalent class to Y.
>     cf OIL Equivalent
>   """;
>          rdfs:subPropertyOf 
><http://www.daml.org/2001/03/daml+oil.daml#equivalentTo>,
>                 rdfs:subClassOf;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#Class> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#samePropertyAs>     a 
>:Property;
>          rdfs:label "samePropertyAs";
>          rdfs:comment """
>     for samePropertyAs(P, R), read P is an equivalent property to R.
>   """;
>          rdfs:subPropertyOf 
><http://www.daml.org/2001/03/daml+oil.daml#equivalentTo>,
>                 rdfs:subPropertyOf .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#sameIndividualAs> 
>a :Property;
>          rdfs:label "sameIndividualAs";
>          rdfs:comment """
>     for sameIndividualAs(a, b), read a is the same individual as b.
>   """;
>          rdfs:subPropertyOf 
><http://www.daml.org/2001/03/daml+oil.daml#equivalentTo>;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Thing>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#Thing> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#disjointWith>     a 
>rdf:Property;
>          rdfs:label "disjointWith";
>          rdfs:comment """
>     for disjointWith(X, Y) read: X and Y have no members in common.
>     cf OIL Disjoint
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#Class> .
>
> 
><http://www.daml.org/2001/03/daml+oil.daml#differentIndividualFrom> 
>a :Property;
>          rdfs:label "differentIndividualFrom";
>          rdfs:comment """
>     for differentIndividualFrom(a, b), read a is not the same individual as b.
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Thing>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#Thing> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#unionOf>     a rdf:Property;
>          rdfs:label "unionOf";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#disjointUnionOf> 
>a rdf:Property;
>          rdfs:label "disjointUnionOf";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#intersectionOf>     a 
>rdf:Property;
>          rdfs:label "intersectionOf";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#complementOf>     a 
>rdf:Property;
>          rdfs:label "complementOf";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#Class> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#oneOf>     a rdf:Property;
>          rdfs:label "oneOf";
>          rdfs:comment """
>      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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Class>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Restriction>     a rdfs:Class;
>          rdfs:label "Restriction";
>          rdfs:comment """
>     something is in the class R if it satisfies the attached restrictions,
>     and vice versa.
>   """;
>          rdfs:subClassOf <http://www.daml.org/2001/03/daml+oil.daml#Class> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#onProperty>     a rdf:Property;
>          rdfs:label "onProperty";
>          rdfs:comment """
>     for onProperty(R, P), read:
>     R is a restricted with respect to property P.
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range rdf:Property .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#toClass>     a rdf:Property;
>          rdfs:label "toClass";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range rdfs:Class .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#hasValue>     a rdf:Property;
>          rdfs:label "hasValue";
>          rdfs:comment """
>     for onProperty(R, P) and hasValue(R, V), read:
>     i is in class R if and only if P(i, V).
>     cf OIL HasFiller
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#hasClass>     a rdf:Property;
>          rdfs:label "hasClass";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range rdfs:Class .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#minCardinality>     a 
>rdf:Property;
>          rdfs:label "minCardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#maxCardinality>     a 
>rdf:Property;
>          rdfs:label "maxCardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#cardinality>     a 
>rdf:Property;
>          rdfs:label "cardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#hasClassQ>     a rdf:Property;
>          rdfs:label "hasClassQ";
>          rdfs:comment """
>     property for specifying class restriction with cardinalityQ constraints
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range rdfs:Class .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#minCardinalityQ> 
>a rdf:Property;
>          rdfs:label "minCardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#maxCardinalityQ> 
>a rdf:Property;
>          rdfs:label "maxCardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#cardinalityQ>     a 
>rdf:Property;
>          rdfs:label "cardinality";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#Restriction>;
>          rdfs:range <http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#ObjectProperty>     a 
>rdfs:Class;
>          rdfs:label "ObjectProperty";
>          rdfs:comment """
>     if P is an ObjectProperty, and P(x, y), then y is an object.
>   """;
>          rdfs:subClassOf rdf:Property .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#DatatypeProperty> 
>a rdfs:Class;
>          rdfs:label "DatatypeProperty";
>          rdfs:comment """
>     if P is a DatatypeProperty, and P(x, y), then y is a data value.
>   """;
>          rdfs:subClassOf rdf:Property .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#inverseOf>     a rdf:Property;
>          rdfs:label "inverseOf";
>          rdfs:comment """
>     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
>   """;
>          rdfs:domain 
><http://www.daml.org/2001/03/daml+oil.daml#ObjectProperty>;
>          rdfs:range 
><http://www.daml.org/2001/03/daml+oil.daml#ObjectProperty> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#TransitiveProperty> 
>a rdfs:Class;
>          rdfs:label "TransitiveProperty";
>          rdfs:comment """
>     if P is a TransitiveProperty, then if P(x, y) and P(y, z) then P(x, z).
>     cf OIL TransitiveProperty.
>   """;
>          rdfs:subClassOf 
><http://www.daml.org/2001/03/daml+oil.daml#ObjectProperty> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#UniqueProperty>     a 
>rdfs:Class;
>          rdfs:label "UniqueProperty";
>          rdfs:comment """
>     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.
>   """;
>          rdfs:subClassOf rdf:Property .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#UnambiguousProperty> 
>a rdfs:Class;
>          rdfs:label "UnambiguousProperty";
>          rdfs:comment """
>     if P is an UnambiguousProperty, then if P(x, y) and P(z, y) then x=z.
>     aka injective. e.g. if firstBorne(m, Susan)
>     and firstBorne(n, Susan) then m and n are the same.
>   """;
>          rdfs:subClassOf 
><http://www.daml.org/2001/03/daml+oil.daml#ObjectProperty> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#List>     a rdfs:Class;
>          rdfs:subClassOf rdf:Seq .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#nil>     a :List;
>          rdfs:comment """
>      the empty list; this used to be called Empty.
>   """ .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#first>     a rdf:Property;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#rest>     a rdf:Property;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#List>;
>          rdfs:range <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#item>     a rdf:Property;
>          rdfs:comment """
>     for item(L, I) read: I is an item in L; either first(L, I)
>     or item(R, I) where rest(L, R).
>   """;
>          rdfs:domain <http://www.daml.org/2001/03/daml+oil.daml#List> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Ontology>     a rdfs:Class;
>          rdfs:label "Ontology";
>          rdfs:comment """
>     An Ontology is a document that describes
>     a vocabulary of terms for communication between
>     (human and) automated agents.
>   """ .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#versionInfo>     a 
>rdf:Property;
>          rdfs:label "versionInfo";
>          rdfs:comment """
>     generally, a string giving information about this
>     version; e.g. RCS/CVS keywords
>   """ .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#imports>     a rdf:Property;
>          rdfs:label "imports";
>          rdfs:comment """
>     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/2001/03/daml+oil.daml>     a :Ontology;
>          :imports <http://www.w3.org/2000/01/rdf-schema> .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#subPropertyOf>     a 
>rdf:Property;
>          :samePropertyAs rdfs:subPropertyOf .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Literal>     a rdfs:Class;
>          :sameClassAs rdfs:Literal .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#Property>     a rdfs:Class;
>          :sameClassAs rdf:Property .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#type>     a rdf:Property;
>          :samePropertyAs rdf:type .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#value>     a rdf:Property;
>          :samePropertyAs rdf:value .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#subClassOf>     a rdf:Property;
>          :samePropertyAs rdfs:subClassOf .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#domain>     a rdf:Property;
>          :samePropertyAs rdfs:domain .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#range>     a rdf:Property;
>          :samePropertyAs rdfs:range .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#label>     a rdf:Property;
>          :samePropertyAs rdfs:label .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#comment>     a rdf:Property;
>          :samePropertyAs rdfs:comment .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#seeAlso>     a rdf:Property;
>          :samePropertyAs rdfs:seeAlso .
>
>     <http://www.daml.org/2001/03/daml+oil.daml#isDefinedBy>     a 
>rdf:Property;
>          :samePropertyAs rdfs:isDefinedBy;
>          rdfs:subPropertyOf 
><http://www.daml.org/2001/03/daml+oil.daml#seeAlso> .
>
>#ENDS
>
>#ENDS
># Command line error: %s illegal option with -pipe -base

Dr. James Hendler		jhendler@darpa.mil
Chief Scientist, DARPA/ISO	703-696-2238 (phone)
3701 N. Fairfax Dr.		703-696-2201 (Fax)
Arlington, VA 22203		http://www.cs.umd.edu/~hendler


This archive was generated by hypermail 2.1.4 : 04/02/02 EST