-
Notifications
You must be signed in to change notification settings - Fork 1
Implementing investigation types
This page describes steps in writing RDFBones extensions implementing new types of investigations.
By way of illustration, it is assumed here that an investigation type called "investigation type 1" is being implemented in an extension called "Investigatino type 1" with uri http://w3id.org/rdfbones/extensions/extension_1 and namespace prefix "ext":
<?xml version="1.0"?>
<rdf:RDF xmlns="http://w3id.org/rdfbones/extensions/InvestigationType1#"
xml:base="http://w3id.org/rdfbones/extensions/InvestigationType1"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:vitro="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:vivo="http://vivoweb.org/ontology/core#"
xmlns:obo="http://purl.obolibrary.org/obo/"
<owl:Ontology rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1">
<vitro:ontologyPrefixAnnot rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal">ext</vitro:ontologyPrefixAnnot>
<rdfs:label xml:lang="en">Investigation type 1</rdfs:label>
</owl:Ontology>
#Investigation type class
Create a subclass of obo:OBI_0000066 ('Investigation') or one of its subclasses (cf. Investigations). Here, this class is called ext:InvestigationType1.
<owl:Class rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#InvestigationType1">
<rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/OBI_0000066"/>
<obo:IAO_0000112 xml:lang="en">Examples of usage. Target group: people trying to understand the ontology and/or developing new ontologies.</obo:IAO_0000112>
<obo:IAO_0000115 xml:lang="en">Short summary of class content to be displayed in class hieararchy window. Target group: System administrators.</obo:IAO_0000115>
<vitro:descriptionAnnot xml:lang="en">Detailed description of class contents and usage. Target group: people trying to understand the ontology and/or developing new ontologies.</vitro:descriptionAnnot>
<rdfs:label xml:lang="en">Investigation type 1</rdfs:label>
</owl:Class>
#Testable hypotheses
Decide if the investigation type to be implemented tests a hypothesis or not (cf. Investigation planning). If so, define a number of instances of class obo:OBI_0001908 ('Testable hypothesis') as input for the planning process (cf. Investigation planning). You can either choose existing instances from other extensions or create new ones if the hypotheses you are looking for are not represented anywhere. Here, an instance called 'Hypothesis 1' is created.
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#Hypothesis_1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0001908"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Hypothesis 1</rdfs:label>
</owl:NamedIndividual>
If you created new instances, decide for each of them which subclasses of class obo:BFO_0000001 ('Entity') represent concepts that are relevant to the hypothesis. You can either choose existing classes from the core ontology and from other extensions or create new ones. For each instance representing a hypothesis (here: 'Hypothesis 1'), create restrictions on the object property obo:IAO_0000136 ('is about') with the relevant subclasses of obo:BFO_0000001 ('Entity') in the ranges (cf Investigation planning). Here, 'Hypothesis 1' is about exactly one frontal bone:
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#Hypothesis_1">
<rdf:type>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/IAO_0000136"/>
<owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/FMA_52734"/>
</owl:Restriction>
</rdf:type>
<rdf:type>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/IAO_0000136"/>
<owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:qualifiedCardinality>
<owl:onClass rdf:resource="http://purl.obolibrary.org/obo/FMA_52734"/>
</owl:Restriction>
</rdf:type>
</rdf:Description>
Create an instance of obo:OBI_0500000 ('Study design') or one of its subclasses in order to define a study design that is unique to the investigation type (cf. Investigation planning). Here, the newly created instance is called 'Study design investigation type 1'.
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0500000"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Study design investigation type 1</rdfs:label>
</owl:NamedIndividual>
Decide which assays the investigation type needs. Definitions for assays may already exist, including specifications. Alternatively, new assays need to be defined. In this case, new instances of the class obo:OBI_0001896 ('Investigation assay specification') need to be created for these assays (cf. Study designs). Here, a new assay specification called 'Specification assay 1' is created:
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#SpecificationAssay1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0001896"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Specification assay 1</rdfs:label>
</owl:NamedIndividual>
Relate the assay specifications to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#SpecificationAssay1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Specify one or more instances of class obo:OBI_0000684 ('Specimen collection objective') that characterise the requirements of the investigation type regarding the material to be studied (cf. Study designs. These instances can either be pre-existing or newly created. Here, a new specimen collection objective called 'Specimen collection objective 1' is created:
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#SpecimenCollectionObjective1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0000684"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Specimen collection objective 1</rdfs:label>
</owl:NamedIndividual>
Relate the specimen collection objectives to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#SpecimenCollectionObjective1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Specify one or more instances of class obo:OBI_0001892 ('Specification of data to be generated in an investigation') that characterise the data that are generated by the investigation type (cf. Study designs). These instances can either be pre-existing or newly created. Here, a new specificatin called 'Data specification 1' is created:
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DataSpecification1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0001892"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Data specification 1</rdfs:label>
</owl:NamedIndividual>
Relate the data specifications to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DataSpecification1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Specify one or more instances of class obo:OBI_0200166 ('Data transformation objective') that characterise manipulations of the data specified above, which carried out as part of the investigation type (cf. Study designs). These instances can either be pre-existing or newly created. Here, a new objective called 'Data transformation objective 1' is created as an instance of class obo:OBI_0200167 ('Data normalization objective') - a subclass of class obo:OBI_0200166 ('Data transformation objective'):
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DataTransformationObjective1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0200167"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Data transformation objective 1</rdfs:label>
</owl:NamedIndividual>
Relate the data transformation objectives to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DataTransformationObjective1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Specify one or more instances of class obo:OBI_0000272 ('Protocol') that represent protocols defining the investigation type (cf. Study designs). These instances can either be pre-existing or newly created. Here, a new protocol called 'Protocol 1' is created:
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#Protocol1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0000272"/>
<vivo:description xml:lang="en">Detailed rendering of protocol contents.</vivo:description>
<rdfs:label xml:lang="en">Protocol 1</rdfs:label>
</owl:NamedIndividual>
Relate the protocols to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#Protocol1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Declare the variables occurring in the investigation type by specifying instances of the classes obo:OBI_0000750 ('Study design independent variable'), obo:OBI_0000751 ('Study design dependent variable') and obo:OBI_0000785 ('Study design controlled variable'). These instances can either be pre-existing or newly created (cf. Study designs). Here, three new variables are created, 'Independent variable 1', 'Dependent variable 1' and 'Controlled variable 1':
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#IndependentVariable1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0000750"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Dependent variable 1</rdfs:label>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DependentVariable1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0000751"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Dependent variable 1</rdfs:label>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#ControlledVariable1">
<rdf:type rdf:resource="http://purl.obolibrary.org/obo/OBI_0000785"/>
<vivo:description xml:lang="en">Detailed description. Target group: Users.</vivo:description>
<rdfs:label xml:lang="en">Controlled variable 1</rdfs:label>
</owl:NamedIndividual>
Relate the variables to the study design with the object property obo:BFO_0000050 ('part of', cf. Study designs):
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#IndependentVariable1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#DependentVariable1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#ControlledVariable1">
<obo:BFO_0000050 rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</rdf:Description>
This process is the same for all instances that are part of the study design, no matter if they are newly created or had existed before.
Create a subclass of obo:OBI_0000339 ('Planning') in order to define specifications relating to the planning process of the new investigation type (cf. Investigation planning). Here, the newly created subclass is called ext:PlanningInvestigationType1.
<owl:Class rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#PlanningInvestigationType1">
<rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/OBI_0000339"/>
<obo:IAO_0000112 xml:lang="en">Examples of usage. Target group: people trying to understand the ontology and/or developing new ontologies.</obo:IAO_0000112>
<obo:IAO_0000115 xml:lang="en">Short summary of class content to be displayed in class hieararchy window. Target group: System administrators.</obo:IAO_0000115>
<vitro:descriptionAnnot xml:lang="en">Detailed description of class contents and usage. Target group: people trying to understand the ontology and/or developing new ontologies.</vitro:descriptionAnnot>
<rdfs:label xml:lang="en">Planning investigation type 1</rdfs:label>
</owl:Class>
Create a restriction for the planning class on the object property obo:BFO_0000050 ('part of') with the investigation type class in the range (cf. Investigations).
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#PlanningInvestigationType1">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000050"/>
<owl:allValuesFrom rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#InvestigationType1"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000050"/>
<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdf:Description>
Create restrictions for the planning class on the object property obo:OBI_0000293 ('has_specified_input') with the hypotheses defined above in the ranges.
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#PlanningInvestigationType1">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/OBI_0000293"/>
<owl:hasValue rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#Hypothesis_1"/>
</owl:Restriction>
</rdfs:subClassOf>
</rdf:Description>
Create a restriction for the planning class on the object property obo:OBI_0000299 ('has specified output') with the study design defined above in the range.
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#PlanningInvestigationType1">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/OBI_0000299"/>
<owl:hasValue rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#StudyDesignInvestigationType1"/>
</owl:Restriction>
</rdfs:subClassOf>
</rdf:Description>
Create a subclass of obo:OBI_0000471 ('Study design execution') in order to define specifications relating to the execution of an investigation of the type to be implemented (cf. Investigation planning). Here, the newly created subclass is called ext:ExecutionInvestigationType1.
<owl:Class rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#ExecutionInvestigationType1">
<rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/OBI_0000471"/>
<obo:IAO_0000112 xml:lang="en">Examples of usage. Target group: people trying to understand the ontology and/or developing new ontologies.</obo:IAO_0000112>
<obo:IAO_0000115 xml:lang="en">Short summary of class content to be displayed in class hieararchy window. Target group: System administrators.</obo:IAO_0000115>
<vitro:descriptionAnnot xml:lang="en">Detailed description of class contents and usage. Target group: people trying to understand the ontology and/or developing new ontologies.</vitro:descriptionAnnot>
<rdfs:label xml:lang="en">Execution Investigation Type 1</rdfs:label>
</owl:Class>
Create a restriction for the study design execution class on the object property obo:BFO_0000050 ('part of') with the investigation type class in the range.
<rdf:Description rdf:about="http://w3id.org/rdfbones/extensions/InvestigationType1#ExecutionInvestigationType1">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000050"/>
<owl:allValuesFrom rdf:resource="http://w3id.org/rdfbones/extensions/InvestigationType1#InvestigationType1"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000050"/>
<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdf:Description>