<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
  <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
  <!ENTITY seq 'http://sswapmeet.sswap.info/sequence/'>
  <!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
  <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>]>
<rdf:RDF
    xmlns:rdf="&rdf;"
    xmlns:owl="&owl;"
    xmlns:seq="&seq;"
    xmlns:xsd="&xsd;"
    xmlns:rdfs="&rdfs;">
    <owl:Ontology rdf:about="&seq;owlOntology">
        <owl:imports rdf:resource="&seq;owlOntology"/>
    </owl:Ontology>
    <owl:Class rdf:about="&seq;Sequences"/>
    <owl:Class rdf:about="&seq;Sequence">
        <rdfs:label rdf:datatype="&xsd;string">Sequence</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;Sequences"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty>
                    <owl:DatatypeProperty rdf:about="&seq;recordURL"/>
                </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="&seq;theSequence"/>
                </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="&seq;accessionID"/>
                </owl:onProperty>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger"
                >0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty>
                    <owl:DatatypeProperty rdf:about="&seq;name"/>
                </owl:onProperty>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger"
                >0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment rdf:datatype="&xsd;string">Superclass for a sequence object.

Sequences may have name(s) and accession number(s).  A sequence may be the resource itself (whereby its format can be tagged by aggregation with the seq:Formats class), or it may be embedded as the string literal object for the predicate seq:theSequence.

A sequence object can also point to the sequence or a record about the sequence using the seq:recordURL predicate.</rdfs:comment>
    </owl:Class>
    <owl:DatatypeProperty rdf:about="&seq;recordURL">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
    </owl:DatatypeProperty>
    <owl:DatatypeProperty rdf:about="&seq;theSequence">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
    </owl:DatatypeProperty>
</rdf:RDF>

