#      Linked Data related
#

@prefix : <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

@prefix doc: <http://www.w3.org/2000/10/swap/pim/doc#> .

@prefix link: <#> .

@prefix foaf: <http://xmlns.com/foaf/0.1/>.

@keywords a, is, of.
    
    <>     a owl:Ontology;
         <http://purl.org/dc/elements/1.1/description> """
        This is a vocabulary for describing relationships betweem
        linked data objects and things fetched from the web.
      """;
         <http://purl.org/dc/elements/1.1/title> "Ontology for Linked Data";
        doc:version "$Id: link.n3,v 1.7 2007/09/04 21:28:38 timbl Exp $".


    link:uri a rdf:Property, owl:InverseFunctionalProperty;
        s:label "URI";
        s:comment """One of possibly many URIs which identify something.""".

    link:Document     a rdf:Class;
         :comment """An Information Resource, such as a web page, image,
        data file, etc.""";
         :isDefinedBy <>;
         :label "document" .
    
    link:Mailbox     a rdf:Class;
         :comment """An end point in the Internet Mail sytem. 
            Anything which has a URI in the malto: scheme is a Mailbox.""";
         :isDefinedBy <>;
         :label "mailbox";
         is :range of foaf:mbox;   # The FOAF spec does not alas define this.
         owl:disjointWith  link:Document, foaf:Person.
    
    link:isMentionedIn     a rdf:Property;
         :comment """
      This class is mentioned in the following document
    """;
         :domain :Class;
         :isDefinedBy <>;
         :label "is mentioned in";
         :range :Resource;
         owl:inverseOf link:mentionsClass .
    
    link:mentionsClass     a rdf:Property;
         :comment "This document mentions the following class";
         :domain :Resource;
         :isDefinedBy <>;
         :label "mentions";
         :range :Class;
         owl:inverseOf link:isMentionedIn .
    
    link:protocol     a rdf:Property;
         :comment "The application supports this network protocol.";
         :isDefinedBy <>;
         :label "supports protocol" .

# Recording this experience of actual network acceses
#         
    link:Access a :Class;
        :label "access";
        :comment """An event in which a network access is made.""". 
    
    link:request     a rdf:Property;
         :comment """A network access of the subject.
            A URI of the subject was used in the access.
            May be successful or not.""";
         :range link:Access;
         :isDefinedBy <>;
         :label "access".
    
    link:handler     a rdf:Property;
         :comment """A handler which dealt with this access.""";
         :isDefinedBy <>;
         :label "handler".
        
    link:source     a rdf:Property;
         :comment "A source file accessed in this session.";
         :range link:Document;
         :domain link:Session;
         :isDefinedBy <>;
         :label "uses source";
         owl:inverseOf [:label "session"].
    
    []     a rdf:Property;
         :comment "The range uses the domain as a resource.";
         :isDefinedBy <>;
         :label "is used by";
         owl:inverseOf link:source .
    
    link:status     a rdf:Property;
         :comment """The status of a network access.""";
         :isDefinedBy <>;
         :label "status" .
    
    link:testDataset     a rdf:Property;
         :comment "Soemthing which can be used as an example for testing purposes";
         :domain foaf:Project;
         :isDefinedBy <>;
         :label "examples and test data" .


# The tabulator session is recorded.

    link:Session a :Class;
        :label "session";
        :comment """A run of the application software in which various
        network acecssses etc happen.""".
    
    link:session a rdf:Property;
        :label "session";
        :domain foaf:Project;
        :range link:Session.

## Tracking which document caused another document to load

    link:requestedBy     a rdf:Property;
         :comment """A resource which contains a reference to the subject.
         That is, one of the statements in the object file
         has the subject URI.
         This property is stored by the tabulator library to explain 
         why it looked up a given URI. This can help 
         trace an error when it was in fact a mis-spelling.""";
         :isDefinedBy <>;
         :label "referrer";
         owl:inverseOf [ :label "refers to"];
         :range link:Document.
    
# ENDS
    
