@prefix dc: <http://purl.org/dc/elements/1.1/>.
<> dc:Author "Sandro Hawke, sandro@w3.org";
   dc:Description """

       Describes an RDF vocabulary which is a refinement (and in a few
       cases extension) of RDFS.

    """.

@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 rx: <http://www.w3.org/2002/05/rx/v1#>.
@prefix : <http://www.w3.org/2002/05/rx/v1#>.

<> daml:imports <http://www.daml.org/2001/03/daml+oil>;
   daml:imports <http://www.w3.org/1999/02/22-rdf-syntax-ns>;
   daml:imports <http://www.w3.org/2000/01/rdf-schema>;
   daml:versionInfo "$Id: v1.n3,v 1.1 2002/05/17 18:36:13 sandro Exp $";
   rdfs:seeAlso <http://www.w3.org/2002/05/rx/>.

###
### Import and rename some terms, for convenience
###

:equal daml:equivalentTo daml:equivalentTo.
:superclass :equal rdfs:subClassOf.
:superproperty :equal rdfs:subPropertyOf.

# subclass and subproperty need daml:inverseOf, I think, or rules.

###
### 
###

:Comment 
    :name "English XHTML string"; 	 
    :superclass rdfs:Literal;
    :cdef """A character string containing an XHTML fragment with
    english text.  The XML is taken as "inline", so elements like "em"
    and "a" are allowed, but "p" and "h1" are not.""";
    :note """One should define and use a different subclass of Literal
    if one wants paragraphs, headings, etc.""".

:def
    :name "definition";
    :superproperty rdfs:comment, dc:description;
    rdfs:domain :Comment;
    :pdef """a description of the subject, in English text, which 
    concisely conveys the subject's meaning or identity, much like
    a dictionary definition.""";
    :note "Allows concise documentation of individual objects".

:cdef
    :name "definition of each instance";
    :superproperty rdfs:comment, dc:description;
    rdfs:domain :Comment;
    rdfs:range rdfs:Class;
    :pdef """a <a href="#def">definition</a> of each and every
    instance (or member) of the subject (which is a Class).""";
    :note """Allows concise documentation of classes, avoiding 
    repeated phrasings like, "a class which has instances which are
    ...". """.

:pdef
    :name "definition of each related object";
    :superproperty rdfs:comment, dc:description;
    rdfs:domain :Comment;
    rdfs:range rdfs:Property;
    :pdef """a <a href="#def">definition</a> of the object, in terms
    of its relation to the subject, when this predicate (property) is
    used to related the two."""; 
    :note """Allows concise documentation of predicates, avoiding
    repeated phrasings like, "a predicate relating a subject and
    object such that the object is...".""".
    
:note
    :superclass rdfs:comment;
    rdfs:domain :Comment;
    :pdef """an informal note or comment about the subject""".

:name 
    :superproperty rdfs:label;
    :pdef """a short english text name (noun or noun phrase) which
    concisely identifies the subject.  The name should be capitalized
    if and only if the named thing is an RDFS Class.""";
    :note """How do we provide enough information to select the
    right names for the right user communities?""";
    :note """A name should be inferred from the URI as the fragment
    portion, so don't bother giving names to most thing.""".

###
### Inclusion
###
###   we still want patern-related inclusion
###   we should related this to daml:includes
###

:uses 
    :superproperty rdfs:seeAlso;
    :pdef """an additional source of information which was trusted by
    the creator of the subject content and should be used in concert
    with it.""". 

:requires 
    :superproperty :uses;
    :pdef """an additional source of information which is considered
    essential to normal use of the original source.""";
    :note """Stronger than <a href="#uses">uses</a>; more like "Please
    Go Read FOO And Then Continue Here."  We can't make someone read
    the other thing, but we can say that in normal use (eg not
    debugging), the main document is probably useless without this
    other stuff""".

