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

From OpenWetWare
Jump to navigationJump to search

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 [1],
  • 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:     <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix foaf:    <http://xmlns.com/foaf/0.1#> .
@prefix bbf:     <http://www.biobricks.org/rdf/0.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 .

## 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 .


#######################################################
## 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 .


############################
## 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 .


################################################
## 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.


####################################
## 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 .

#############################
## 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"^^<http://www.w3.org/2001/XMLSchema#string> ;
      rdfs:domain bbf:Sample ;
      rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

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

##################
## 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.