The BioBricks Foundation:Standards/Technical/PoBoL/Owl Draft 0.2

= Draft version 0.2 of PoBoL: =

This draft adds "restrictions" that state what properties (dnaSequence, prefix, etc.) a certain class (Biobrick, BiobrickFormat, etc.) is guaranteed to have.

Source

 * Generated in Protege as OWL (XML)
 * translated to Turtle using ,
 * hand-polished

Issues:

 * subParts properties: how can we state that subParts should point to a collection of BasicBiobrick?
 * naming: more specific names like, for example, 'biobrickPrefix' rather than 'prefix'?
 * Biobrick family: could also be formulated as 'SuperBiobrick' (aka an abstract super class of Biobrick)

Files
[[Media:Pobol_rdf_draft_0.2.turtle.owl]]

Draft Ontology in Turtle/N3 Format:
@prefix xsd:    . @prefix rdfs:   . @prefix rdf:    . @prefix owl:    . @prefix foaf:   . @prefix bbf:    .


 * 1) Definition of Biobrick Class and core Properties ##
 * 1) Definition of Biobrick Class and core Properties ##

bbf:Biobrick rdf:type owl:Class ; rdfs:comment "description of a Biobrick"^^xsd:string ; rdfs:label "Biobrick"^^xsd:string ; rdfs:subClassOf owl:Thing ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:format ] ;     rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:dnaSequence ].

bbf:dnaSequence rdf:type owl:InverseFunctionalProperty, owl:FunctionalProperty ; rdfs:domain bbf:Biobrick ; rdfs:label "sequence"^^xsd:string ; rdfs:range xsd:string.

bbf:format rdf:type owl:InverseFunctionalProperty, owl:FunctionalProperty ; rdfs:domain bbf:Biobrick ; rdfs:label "format"^^xsd:string ; rdfs:range bbf:BiobrickFormat.


 * 1) Biobrick level2 properties

bbf:author rdf:type owl:ObjectProperty ; rdfs:domain bbf:Biobrick ; rdfs:range foaf:Person. # http://xmlns.com/foaf/spec/#term_Person

bbf:date rdf:type owl:FunctionalProperty ; rdfs:domain bbf:Biobrick ; rdfs:range xsd:date.

bbf:shortDescription rdf:type owl:FunctionalProperty ; rdfs:domain bbf:Biobrick ; rdfs:range xsd:string.

bbf:longDescription rdf:type owl:FunctionalProperty ; rdfs:domain bbf:Biobrick ; rdfs:range xsd:string.

bbf:reference rdf:type owl:ObjectProperty ; rdfs:domain bbf:Biobrick ; rdfs:range xsd:string.

bbf:family rdf:type owl:ObjectProperty ; rdfs:comment "group of related Biobricks to which this one belongs"^^xsd:string ; rdfs:domain bbf:Biobrick ; rdfs:label "family"^^xsd:string ; rdfs:range bbf:BiobrickFamily.


 * 1) Basic and Composite Biobrick-subclass and properties
 * 1) Basic and Composite Biobrick-subclass and properties

bbf:BiobrickBasic rdf:type owl:Class ; rdfs:subClassOf bbf:Biobrick ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "0"^^xsd:int ; owl:onProperty bbf:subParts ] ;     owl:disjointWith bbf:BiobrickComposite.

bbf:BiobrickComposite rdf:type owl:Class ; rdfs:subClassOf bbf:Biobrick ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:subParts ] ;     owl:disjointWith bbf:BiobrickBasic.

bbf:subParts rdf:type owl:InverseFunctionalProperty, owl:FunctionalProperty ; rdfs:comment "a list of basic Biobricks this Biobrick is made of"^^xsd:string ; rdfs:domain bbf:Biobrick ; rdfs:label "Biobrick Composition"^^xsd:string.


 * 1) Other Biobrick subclasses
 * 1) Other Biobrick subclasses

bbf:BiobrickVector rdf:type owl:Class ; rdfs:subClassOf bbf:Biobrick.

bbf:isCircular rdf:type owl:FunctionalProperty ; rdfs:comment "circular DNA flag"^^xsd:string ; rdfs:domain bbf:BiobrickVector ; rdfs:label "is circular?"^^xsd:string ; rdfs:range xsd:boolean.

bbf:SelectiveMarker rdf:type owl:Class ; rdfs:subClassOf bbf:Biobrick.


 * 1) Biobrick physical Format class and properties
 * 1) Biobrick physical Format class and properties

bbf:BiobrickFormat rdf:type owl:Class ; rdfs:comment "Biobrick Physical Assembly Format"^^xsd:string ; rdfs:label "Biobrick Format"^^xsd:string ; rdfs:subClassOf owl:Thing ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:suffix ] ;     rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:prefix ] ;     rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:int ; owl:onProperty bbf:selfScar ].

bbf:prefix rdf:type owl:ObjectProperty, owl:FunctionalProperty ; rdfs:comment "standard prefix sequence"^^xsd:string ; rdfs:domain bbf:BiobrickFormat ; rdfs:label "Biobrick prefix"^^xsd:string ; rdfs:range xsd:string.

bbf:suffix rdf:type owl:ObjectProperty, owl:FunctionalProperty ; rdfs:comment "standard suffix sequence"^^xsd:string ; rdfs:domain bbf:BiobrickFormat ; rdfs:label "Biobrick suffix"^^xsd:string ; rdfs:range xsd:string.

bbf:selfScar rdf:type owl:ObjectProperty, owl:FunctionalProperty ; rdfs:comment "the sequence left between two Biobricks of this Format after standard assembly"^^xsd:string ; rdfs:domain bbf:BiobrickFormat ; rdfs:range xsd:string.

bbf:shortDescription      rdfs:domain     bbf:BiobrickFormat. # described above bbf:longDescription       rdfs:domain     bbf:BiobrickFormat.


 * 1) Physical DNA class and properties
 * 1) Physical DNA class and properties

bbf:DNA rdf:type owl:Class ; rdfs:comment "description of an actual piece of DNA"^^xsd:string ; rdfs:label "Physical DNA"^^xsd:string.

bbf:vector rdf:type owl:FunctionalProperty ; rdfs:domain bbf:DNA ; rdfs:label "vector"^^xsd:string.

bbf:insert rdf:type owl:FunctionalProperty ; rdfs:comment "biobrick embedded in a vector"^^xsd:string ; rdfs:domain bbf:DNA ; rdfs:label "insert"^^xsd:string ; rdfs:range bbf:Biobrick.


 * 1) minimal Sample description
 * 1) minimal Sample description

bbf:Sample rdf:type owl:Class ; rdfs:comment "description of a sample in a freezer or elsewhere"^^xsd:string ; rdfs:label "sample"^^xsd:string.

bbf:dna rdf:type owl:FunctionalProperty ; rdfs:comment "DNA content of a sample"^^xsd:string ; rdfs:domain bbf:Sample ; rdfs:label "physical DNA"^^xsd:string ; rdfs:range bbf:DNA.

bbf:label rdf:type owl:ObjectProperty ; rdfs:comment "physical label on a sample or similar"^^ ; rdfs:domain bbf:Sample ; rdfs:range .

bbf:date    rdfs:domain     bbf:Sample. # defined in more detail above bbf:author  rdfs:domain     bbf:Sample. # defined in more detail above


 * 1) Biobrick Family
 * 1) Biobrick Family

bbf:BiobrickFamily rdf:type owl:Class ; rdfs:comment "description of a group of related Biobricks"^^xsd:string ; rdfs:label "Biobrick Family"^^xsd:string.

bbf:name rdf:type owl:InverseFunctionalProperty, owl:FunctionalProperty ; rdfs:comment "a name"^^xsd:string ; rdfs:domain bbf:BiobrickFamily ; rdfs:label "name"^^xsd:string ; rdfs:range xsd:string.

bbf:subFamilyOf rdf:type owl:ObjectProperty ; rdfs:comment "0 or more parent families"^^xsd:string ; rdfs:domain bbf:BiobrickFamily ; rdfs:label "super Family"^^xsd:string ; rdfs:range bbf:BiobrickFamily.

bbf:shortDescription      rdfs:domain     bbf:BiobrickFamily. # as defined above bbf:longDescription       rdfs:domain     bbf:BiobrickFamily. bbf:author                rdfs:domain     bbf:BiobrickFamily. bbf:date                  rdfs:domain     bbf:BiobrickFamily. bbf:reference             rdfs:domain     bbf:BiobrickFamily.