#Processed by Id: cwm.py,v 1.149 2004/05/12 01:27:06 timbl Exp 
        #    using base file:/Users/hjs/Programming/bloged/test/atom.owl
        
#  Notation3 generation by
#       notation3.py,v 1.154 2004/05/12 01:27:08 timbl Exp

#   Base was: file:/Users/hjs/Programming/bloged/test/atom.owl
     @prefix : <http://www.w3.org/2000/01/rdf-schema#> .
     @prefix XML: <http://www.w3.org/2001/XMLSchema#> .
     @prefix ns: <http://bblfish.net/work/atom-owl/2004-06-22/ns#> .
     @prefix owl: <http://www.w3.org/2002/07/owl#> .
    
    <http://bblfish.net/work/atom-owl/2004-06-22/ns>     a owl:Ontology;
         :comment "Atom allows lists of information, known as syndication feeds, to be synchronised between publishers and consumers. Atom feeds are composed of a number of entries, each with an extensible set of associated metadata.";
         owl:imports <http://protege.stanford.edu/plugins/owl/protege>,
                <http://purl.org/dc/elements/1.1/> .
    
    ns:Atom     a owl:Class;
         :comment "common Atom structure" .
    
    ns:Content     a owl:Class;
         :subClassOf ns:Atom .
    
    ns:Entry     a owl:Class;
         :comment """represents an individual entry  that is contained by the feed.
The Atom entry id is the object's resource URI (So there is no id property) """^^XML:string;
         :subClassOf ns:Atom,
                 [
             a owl:Restriction;
             owl:maxCardinality "1"^^XML:int;
             owl:onProperty ns:created ],
                 [
             a owl:Restriction;
             owl:cardinality "1"^^XML:int;
             owl:onProperty ns:author ],
                 [
             a owl:Restriction;
             owl:minCardinality "1"^^XML:int;
             owl:onProperty ns:content ] .
    
    ns:Feed     a owl:Class;
         :comment """A feed 
The Atom entry id is the object's resource URI (So there is no id property) """^^XML:string;
         :subClassOf ns:Entry,
                 [
             a owl:Restriction;
             owl:minCardinality "0"^^XML:int;
             owl:onProperty ns:entry ],
                 [
             a owl:Restriction;
             owl:cardinality "1"^^XML:int;
             owl:onProperty ns:version ] .
    
    ns:Link     a owl:Class;
         :subClassOf ns:Atom .
    
    ns:Person     a owl:Class;
         :subClassOf ns:Atom .
    
    ns:author     a owl:FunctionalProperty,
                owl:ObjectProperty;
         :comment "indicates the default author of the feed";
         :domain ns:Entry;
         :range ns:Person .
    
    ns:content     a owl:ObjectProperty;
         :domain ns:Entry;
         :label "hasContent"@en;
         :range ns:Content .
    
    ns:contributor     a owl:ObjectProperty;
         :comment "indicates a person or other entity who contributes to the feed";
         :domain ns:Entry;
         :range ns:Person .
    
    ns:copyright     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "a human-readable copyright statement for the feed";
         :domain ns:Entry;
         :range XML:string .
    
    ns:created     a owl:DatatypeProperty;
         :comment "atom:created - indicates the time that the entry was . (must have a timeZone in UTC according to atom spec, but check what the dateTime spec requires)"^^XML:string;
         :domain ns:Entry;
         :range XML:dateTime .
    
    ns:data     a owl:DatatypeProperty;
         :domain ns:Content;
         :range XML:string .
    
    ns:email     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment """e-mail address associated with the person
the atom spec 0.3 draft 2 says that a person can only have on e-mail address. What
they probably meant to say is that the e-mail relation is Inverse Functional."""^^XML:string;
         :domain ns:Person;
         :range XML:anyURI .
    
    ns:emptyContent     a ns:Content .
    
    ns:entry     a owl:ObjectProperty;
         :comment "an individual entry that is contained by the feed";
         :domain ns:Feed;
         :label "hasEntry"@en;
         :range ns:Entry .
    
    ns:generator     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment " indentifies the  software agent used to generate the feed, for debugging and  other purposes."^^XML:string;
         :domain ns:Atom;
         :label "generator"@en;
         :range XML:string .
    
    ns:href     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :domain ns:Link;
         :label "href"@en;
         :range XML:anyURI .
    
    ns:id     a owl:DatatypeProperty;
         :domain ns:Entry;
         :range XML:anyURI .
    
    ns:info     a owl:DatatypeProperty;
         :comment "onveys  a human-readable explanation of the feed format itself"^^XML:string;
         :domain ns:Feed;
         :range XML:string .
    
    ns:issued     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "Issue Date"^^XML:string;
         :domain ns:Entry;
         :range XML:dateTime .
    
    ns:lang     a owl:DatatypeProperty;
         :comment "the default language of the feed"^^XML:string;
         :domain ns:Feed;
         :range XML:string .
    
    ns:link     a owl:ObjectProperty;
         :domain ns:Entry;
         :range ns:Link .
    
    ns:mode     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "indicates the method used to encode the content";
         :domain ns:Content;
         :range  [
             a owl:DataRange;
             owl:oneOf  (
            "xml"^^XML:string 
            "escaped"^^XML:string 
            "base64"^^XML:string  ) ] .
    
    ns:modified     a owl:DatatypeProperty;
         :comment "date this entry was modified"^^XML:string;
         :domain ns:Entry;
         :range XML:dateTime .
    
    ns:name     a owl:DatatypeProperty;
         :comment "human-readable name for the person, corporation or other entity";
         :domain ns:Person;
         :range XML:string .
    
    ns:rel     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "the type of relationship that the link represents";
         :domain ns:Link;
         :label "rel"@en;
         :range  [
             a owl:DataRange;
             owl:oneOf  (
            "alternate"^^XML:string 
            "start"^^XML:string 
            "next"^^XML:string 
            "prev"^^XML:string 
            "service.edit"^^XML:string 
            "service.post"^^XML:string 
            "service.feed"^^XML:string  ) ] .
    
    ns:state     a owl:ObjectProperty;
         :comment "the state of an entry at a time"^^XML:string;
         :domain ns:Entry .
    
    ns:summary     a owl:DatatypeProperty;
         :comment """The "atom:summary" element is a Content construct that  conveys a short summary, abstract or excerpt of the  entry."""^^XML:string;
         :range XML:string .
    
    ns:title     a owl:FunctionalProperty,
                owl:ObjectProperty;
         :comment " a human-readable title"^^XML:string;
         :domain ns:Entry .
    
    ns:type     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "indicates the media type of the content. The atom spec .3.2 says that most of these will be\n\"application/x.atom+xml\""^^XML:string;
         :domain  [
             a owl:Class;
             owl:unionOf  (
            ns:Content 
            ns:Link  ) ];
         :range  [
             a owl:DataRange;
             owl:oneOf  (
            "alternate"^^XML:string 
            "start"^^XML:string 
            "next"^^XML:string 
            "prev"^^XML:string 
            "service.edit"^^XML:string 
            "service.post"^^XML:string 
            "service.feed"^^XML:string  ) ] .
    
    ns:url     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment "a URI associated with the person";
         :domain ns:Person;
         :range XML:string .
    
    ns:version     a owl:DatatypeProperty,
                owl:FunctionalProperty;
         :comment " Indicates the version of the Atom specification that  the construct conforms to."^^XML:string;
         :domain ns:Atom;
         :range XML:string .
    
#ENDS
