<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
  <!ENTITY foaf  "http://xmlns.com/foaf/0.1/" >
  <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
  <!ENTITY cc  "http://web.resource.org/cc/" >
  <!ENTITY skos "http://www.w3.org/2004/02/skos/core#">
  <!ENTITY vocabid  "http://www.lsrn.org/lsrn/schema" >
  <!ENTITY lsrs "http://www.lsrn.org/lsrn/schema.owl#" >
  <!ENTITY lsrr "http://www.lsrn.org/lsrn/registry.rdf#" >
]>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
  xmlns:owl="http://www.w3.org/2002/07/owl#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:dct="http://purl.org/dc/terms/" 
  xmlns:dctype="http://purl.org/dc/dcmitype/" 
  xmlns:cc="http://web.resource.org/cc/"
  xmlns:vann="http://purl.org/vocab/vann/"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:lsrs="http://www.lsrn.org/lsrn/schema.owl#"
  xml:base="http://www.lsrn.org/lsrn/schema.owl">

  <owl:Ontology rdf:about="" dc:date="2006-02-12">
    <dc:title xml:lang="en">LSRN Schema Descriptions</dc:title>
    <rdfs:comment xml:lang="en">
      This vocabulary defines terms used to describe Life Science Record Name (LSRN) 
      Schemas and related metadata. LSRN Schema defines a prefix (e.g. GO:), the format
      of the prefix-dependent record identifier, and the associated metadata.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      This vocabulary is based on Gene Ontology Consortium's GO.xrf_abbs file format.
      Alterations were made to clarify ambiguous properies and make the format more
      suitable for automatic processing by LSRN resolver. 
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      This vocabulary's metadata and format are based upon those of the FRBR-core 
      vocabulary by Richard Newman and Ian Davis, available under CC license. The
      same license type is used to license this work.
    </rdfs:comment>
    <dc:identifier>&vocabid;</dc:identifier>
    <dct:isVersionOf rdf:resource="&lsrs;"/>
    <rdfs:seeAlso rdf:resource="http://www.geneontology.org/GO.usage.shtml#synonyms"/>
    <rdfs:seeAlso rdf:resource="http://www.geneontology.org/doc/GO.xrf_abbs"/>
    <rdfs:seeAlso rdf:resource="http://vocab.org/frbr/core"/>
    <dc:creator>Sergei Egorov &lt;esl@ariadnegenomics.com&gt;</dc:creator>
    <dc:rights>Copyright © 2006 Sergei Egorov</dc:rights>
    <dc:rights>GO.xrf_abbs Copyright © 1999-2006 the Gene Ontology Consortium</dc:rights>
    <dc:rights>OWL metadata&amp;format Copyright © 2005 Richard Newman and Ian Davis</dc:rights>
    <vann:preferredNamespaceUri>&lsrs;</vann:preferredNamespaceUri>
    <vann:preferredNamespacePrefix>lsrs</vann:preferredNamespacePrefix>

    <dct:hasFormat>
     <dctype:Text rdf:about="&vocabid;.html">
      <dc:format>
       <dct:IMT>
        <rdf:value>text/html</rdf:value>
        <rdfs:label xml:lang="en">HTML</rdfs:label>
       </dct:IMT>
      </dc:format>
     </dctype:Text>
    </dct:hasFormat>

    <dct:hasFormat>
     <dctype:Text rdf:about="&vocabid;.owl">
      <dc:format>
       <dct:IMT>
        <rdf:value>application/rdf+xml</rdf:value>
        <rdfs:label xml:lang="en">RDF</rdfs:label>
       </dct:IMT>
      </dc:format>
     </dctype:Text>
    </dct:hasFormat>

    <skos:example rdf:resource="./registry.rdf"/>

    <dct:issued>2006-02-12</dct:issued>
    <skos:changeNote rdf:value="Added OWL ontology metadata" dc:date="2006-02-12" dc:creator="Sergei Egorov"/>
    <skos:historyNote rdf:value="First version" dc:date="2006-02-12" dc:creator="Sergei Egorov"/>

  </owl:Ontology>

  <cc:Work rdf:about="">
    <cc:license rdf:resource="http://creativecommons.org/licenses/by/2.0/uk/"/>
  </cc:Work>
  <cc:License rdf:about="http://creativecommons.org/licenses/by/2.0/uk/">
    <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
  </cc:License>

  <owl:ObjectProperty rdf:about="http://purl.org/dc/elements/1.1/format"/>
  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/hasFormat"/>

  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/isVersionOf"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/replaces"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/type"/>

  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/rights"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/identifier"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/contributor"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/title"/>

  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/changes"/>

  <owl:DatatypeProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#value"/>

  <owl:Class rdf:about="&cc;License"/>
  <owl:Class rdf:about="&cc;Permission"/>
  <owl:Class rdf:about="&cc;Requirement"/>
  <owl:ObjectProperty rdf:about="&cc;permits"/>
  <owl:ObjectProperty rdf:about="&cc;requires"/>
  <owl:AnnotationProperty rdf:about="&cc;license"/>
  <cc:Permission rdf:about="&cc;Reproduction"/>
  <cc:Permission rdf:about="&cc;Distribution"/>
  <cc:Requirement rdf:about="&cc;Notice"/>
  <cc:Requirement rdf:about="&cc;Attribution"/>
  <cc:Permission rdf:about="&cc;DerivativeWorks"/>

 <owl:Class rdf:about="&lsrs;Schema">
  <rdfs:label xml:lang="en">LSRN Schema</rdfs:label>
    <skos:definition xml:lang="en">A schema for Life Science Record Names.</skos:definition >
    <rdfs:comment xml:lang="en">
       A member of this class describes the subject of a record, format of its
       name (prefix and prefix-dependent part), and its mapping to other identifiers
       and locators (URIs, URLs). Members of this class should have unique URIs
       in &lsrr; namespace; their RDF identifiers serve as LSRN prefixes (e.g.
       &lsrr;GO defines the GO: prefix and GO schema).
    </rdfs:comment>
    <vann:preferredNamespaceUri>&lsrr;</vann:preferredNamespaceUri>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:subClassOf>      
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;record_primary_subject"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;id_pattern_ere"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;redirect_to_ere"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;redirect_to_prefix"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;id_example"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="&lsrs;id_example_subject"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-12</dct:issued>
    <skos:changeNote rdf:value="Fixed cardinality type error" dc:date="2006-03-08" dc:creator="Sergei Egorov"/>
    <skos:changeNote rdf:value="Added comment" dc:date="2006-02-12" dc:creator="Sergei Egorov"/>
  </owl:Class>

  <owl:DatatypeProperty rdf:about="&lsrs;database">
    <rdfs:label xml:lang="en">source database</rdfs:label>
    <skos:definition xml:lang="en">The name of the database storing the record, e.g. 'Gene Ontology'.</skos:definition>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;database_url">
    <rdfs:label xml:lang="en">database URL</rdfs:label>
    <skos:definition xml:lang="en">Web address of the database storing the record.</skos:definition>
    <rdfs:comment xml:lang="en">
      This should be a link to the database's home page or some other good
      starting point for exploration of the database's metadata and content.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;anyURI"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;record_primary_subject">
    <rdfs:label xml:lang="en">primary subject of db record</rdfs:label>
    <skos:definition xml:lang="en">Primary subject of database record, e.g. 'gene'.</skos:definition>
    <rdfs:comment xml:lang="en">
      In the future, this property will be accompanied by a reference to a term
      from a suitable ontology of common subjects of life science database records.
      To simplify the transition, please try to use one of the existing values
      before inventing your own.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;record_subject">
    <rdfs:label xml:lang="en">secondary subject of db record</rdfs:label>
    <skos:definition xml:lang="en">Secondary subject of database record, e.g. 'genetic disorders'.</skos:definition>
    <rdfs:comment xml:lang="en">
      In the future, this property will be accompanied by a reference to a term
      from a suitable ontology of common subjects of life science database records.
      To simplify the transition, please try to use one of the existing values
      before inventing your own.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;id_type">
    <rdfs:label xml:lang="en">type of a database ID</rdfs:label>
    <skos:definition xml:lang="en">ID type, e.g. 'sequential identifier' or 'accession number'.</skos:definition>
    <rdfs:comment xml:lang="en">
      In the future, this property will be accompanied by a reference to a term
      from a suitable ontology of common maintenance models for database identifiers.
      To simplify the transition, please try to use one of the existing values
      before inventing your own.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;id_format">
    <rdfs:label xml:lang="en">format of a database ID</rdfs:label>
    <skos:definition xml:lang="en">Free-text format description, e.g. 'positive numeral'.</skos:definition>
    <rdfs:comment xml:lang="en">
      In the future, this property will be accompanied by a reference to a term
      from a suitable ontology of common syntaxes for database identifiers.
      To simplify the transition, please try to use one of the existing values
      before inventing your own.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;id_pattern_ere">
    <rdfs:label xml:lang="en">regexp for database ID</rdfs:label>
    <skos:definition xml:lang="en">POSIX-style extended regexp pattern for database IDs, e.g. '[A-Z][0-9]+'.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property should be a valid POSIX ERE (extended regular expression).
      It should be present if either redirect_to_ere or url_template_ere properties
      are specified. Group subexpressions ised in id_pattern_ere can be referred
      to via \1 .. \9 substitution patterns in the template properties.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;id_example">
    <rdfs:label xml:lang="en">example of ID</rdfs:label>
    <skos:definition xml:lang="en">Example of database ID for the record (sans prefix).</skos:definition>
    <rdfs:comment xml:lang="en">
      This property should be a real ID. Together with the corresponding
      id_example_subject, it is used to check the LSRN registry for dead links.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;id_example_subject">
    <rdfs:label xml:lang="en">subject of ID example</rdfs:label>
    <skos:definition xml:lang="en">Subject for the example ID.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used together with id_example to check the LSRN registry for dead links.
      For each URL template, a URL is produced by substituting id_example, and the resulting
      resource is retrieved and checked for literal presence of the id_example_subject string.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;redirect_to_prefix">
    <rdfs:label xml:lang="en">redirect to prefix</rdfs:label>
    <skos:definition xml:lang="en">Another prefix to be used in place of the current one, e.g. 'INSD:'.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used by LSRN Resolver service to process alternative or common names
      and propose their canonical variants. The replacement LSRN is formed by appending the
      identifier part to the redirect_to_prefix property, which should end in colon.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;redirect_to_ere">
    <rdfs:label xml:lang="en">redirect via regexp</rdfs:label>
    <skos:definition xml:lang="en">A regexp template for replacement LSRN.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property should be a template used with id_pattern_ere regexp pattern.
      The template is copied, making substitutions according to the regexp match
      performed using id_pattern_ere.  Each instance of '&amp;' in template is replaced 
      by the entire identifier.  Each instance of '\n', where n is a digit between 1 and 9, 
      is replaced by the substring corresponding to parenthesized group in id_pattern_ere.  
      To get a literal '&amp;' or '\n', prefix it in the template with '\'; to get a literal 
      '\' preceding '&amp;' or '\n', prefix it with another '\'.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;url_template_prefix">
    <rdfs:label xml:lang="en">URL template prefix</rdfs:label>
    <skos:definition xml:lang="en">A URL prefix to form a complete URL.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used by LSRN Resolver to form a URL for the record. 
      URLs are formed by appending the identifier part to each url_template_prefix property.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;url_template_ere">
    <rdfs:label xml:lang="en">URL template for ID regexp</rdfs:label>
    <skos:definition xml:lang="en">A regexp template to form a URL.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used by LSRN Resolver to form a URL for the record.
      The template is copied, making substitutions according to the regexp match
      performed using id_pattern_ere.  Each instance of '&amp;' in template is replaced 
      by the entire identifier.  Each instance of '\n', where n is a digit between 1 and 9, 
      is replaced by the substring corresponding to parenthesized group in id_pattern_ere.  
      To get a literal '&amp;' or '\n', prefix it in the template with '\'; to get a literal 
      '\' preceding '&amp;' or '\n', prefix it with another '\'.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;ncbi_db_xref">
    <rdfs:label xml:lang="en">NCBI db_xref key</rdfs:label>
    <skos:definition xml:lang="en">NCBI db_xref key for the schema, if different from schema prefix.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used to preserve the original NCBI's db_xref key if it
      contains characters which cannot be used in LSRN schema names.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&lsrs;ariadne_rnef_property">
    <rdfs:label xml:lang="en">RNEF property name</rdfs:label>
    <skos:definition xml:lang="en">Ariadne Genomics RNEF property name for the schema.</skos:definition>
    <rdfs:comment xml:lang="en">
      This property is used to facilitate mapping between LSRN schemas and an external ontology.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="&lsrs;"/>
    <rdfs:domain rdf:resource="&lsrs;Schema"/>
    <rdfs:range rdf:resource="&xsd;string"/>
    <dct:issued>2006-02-12</dct:issued>
  </owl:DatatypeProperty>

</rdf:RDF>
