In order to acquire some hands-on experience with a tangible RDF RO artefact, I am trying to link references for the materials that Kristina added to the RO using the RO tools as instances in the ontologies suggested for the RO. The immediate motivation is the Semantic Web Applications and Tools for Life Science (SWAT4LS) workshop, where we would like to present our project on a poster. I would like to show a tiny prototype Semantic Web example of a RO.
Comments 28/11/2011 - 1/12/2011
* I cannot find the property that links a workflow file to a workflow instance: what is the recommended way of instantiating a particular workflow?
* I wonder what the added benefit of a WorkflowResearchObject is; it is properly defined as an RO with at least a Workflow, but a RO with only a workflow would not be a good RO imo (at least not a published RO)
* The explicit distinction between living and published ROs
* Datatype properties for Artifacts (documents, files etc.): how do I add a reference to file on my harddisc? It is not common practice to use such references directly for the identifiers of these intances, is it?
* Warning: using (file) names for identifiers may lead to ambiguity problems later on. I suggest that if we have no better ID, we use uuids, and the names in labels.
* I can't find how to relate the Experimental Hypothesis to a scientific task or investigation
* Artifact is used in three different vocabularies (opmv, wfdesc, wfprov); are they all different? Are their relations defined?
* What do we use the Annotation ontology for exactly? This question is partly because the annotation classes are not very clearly annotated (ironically). I can imagine that some Semantic Links can be regarded annotations. Do we then use these to define that certain classes are annotations?
* I see that we previously took a different modelling decision regarding process and workflow. We did not define a workflow as a process directly. Instead we defined the following pattern: a (Text mining) process /has_implementation/ workflow, a process /is_run_by/ a process_run, a process_run /is_performed_by/ a workflow_run. Not sure about the consequences in practice, but I am not sure if we can define workflow as a description as well as a process. I guess process would have to be described as a process *description*.
* I am curious about 'WorkflowInstance'. If scufl2 can contain these extra things, then I guess a workflow description could indeed be a WorkflowInstance as defined. Otherwise I would probably create relations between the workflow and its parameters etc.. In that case it would make sense to define this class as a defined class: a workflow with parameter properties is a (directly runnable) WorkflowInstance. As an experiment (poc) I defined this in the wf4ever_experiment ontology.
* Could 'hasArtifact' also apply to files that represent e.g. the workflow. Currently, I used the reference from the manifest.rdf file (which reads like a file reference) as the identifier for the workflow. This seems to be a discrepancy: I use a different pattern for the inputs and outputs: I/O Files (Artifacts) are linked to workflow runs by usedInput and wasOuputFrom.
* Created several instances in EXPO: ComputationalExperiment, ScientificInvestigation, HypothesisRepresentation = instance of Artifact <- Document,
** If I had doubts about the ID to use, I created a uuid. All my instances have labels (or they should have)
* Linked EXPO and wf by
** defining that a Workflow is a type of RepresentationExperimentalExecutionProcedure
* Added one example output and two inputs as file instances. Linked them to the workflow run.
* Aggregated all my instances in the RO instance.
* To link the workflow to its hypothesis, I used the hasContent relation based on this relation's domain and range. The relation is not further defined, so I cannot know if this is its purpose (its name suggests something different).
==== Earlier comments =====
wf4ever models comments
* In general classes for scientific experiments; I think we need these for annotating
** Hypothesis (and document representing a hypothesis)
** The experiment ('executed by' (everything in) a Research Object)
** Interpretation (and artefact representing the interpretation)
** Possible ontologies to reuse:
*** I found 'EXPO' (http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1885356/ and http://www.sourceforge.net/projects/expo)
*** Some domain specific ontologies, such as http://www.w3.org/wiki/images/e/ea/HCLSIG_BioRDF_Subgroup%24%24Tasks%24%24Experiment_Ontology%24LSCDDMetadata.owl
*** More options are welcome, because these do not seem to be well maintained; their URIs do not resolve on the web.
*** Related (but less generic than you might think): Experimental Conditions Ontology (http://bioportal.bioontology.org/ontologies/1585); Experimental Factor Ontology (http://bioportal.bioontology.org/ontologies/1136)
* I find two 'Documents' (wf4ever and foaf) with insufficient information to understand their relation.
* Classes from imported ontologies often have poor or no labels, and no comments. For classes/properties that are important to our purposes I suggest we provide labels and comments (in a separate owl file).
* Out of curiosity: How is a Person a 'spatial thing'?
* Inputs and outputs are defined as types of parameters. Some would consider these different things I think?
* Not many classes are defined by properties; should we try to increase that?
* Also for ontologies I find examples (in comments) highly useful. For instance, I would like more information on how the annotation classes/properties should be used.