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.