Line 1: | Line 1: | ||
{{TitleDescription Template | {{TitleDescription Template | ||
|Title=General Issue: Representing Species | |Title=General Issue: Representing Species | ||
− | |Description= | + | |Description=How should species be represented? |
}} | }} | ||
{{Graphical representation}} | {{Graphical representation}} |
Title: General Issue: Representing Species
Description: How should species be represented?
Diagram (this article has no graphical representation)
Users | MichaelUschold |
---|---|
Domains | Biology |
Competency Questions | |
Scenarios | |
Proposed Solutions (OWL files) | |
Related patterns |
Issue: What is the best way to represent species?
Source: W3C Linked Open Data discussion list
Related Discussions:
Related Modeling Issues: Using SKOS Concept
Example: There is a requirement to represent large number of species for the purpose of indexing research papers and experiments that use or refer to a species in some way.
Conclusions:
General Discussion:
There are different ways to view and use the idea of a species. Below are three. The first is useful for dealing with taxonomy evolution, the second is useful for dealing with observations, e.g. in Wisconsin. The third is useful for library classification.
Having multiple representations.
OWL 2 punning was discussed by Pat Hayes. It allows for, e.g. Cougar to exist both as a class and as an instance. However, as described in http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Metamodeling, when a resource is mentioned as both an individual and a class, the two mentions are interpreted independently. Axioms about the instance do not apply to the class, and vice versa. Extra work would be needed to ensure that the semantics of each was identical. Owl 2 style punning allows A sameAs B when considered as individuals but not A sameClassAs B as classes. So you have to go to the trouble of asserting the appropriate identity (possibly twice). This way, everything can work out as it should.
Bernard Vatant describes how multiple representations can virtuall co-exist by mapping from one to the other in rules. This is explained in this post. The basic idea is to us the 'construct' construct in SPARQL. Below is a portion quoted directly:
Suppose I have an ontology O1 where species are rept as instances of owl:Class, and an ontology O2 where species are represented as instances of skos:Concept. O1 and O2 leverage the same reference code, say ITIS. In O1 ITIS code is a datatype property o1:ITISCode which can be attached to any individual living creature, and a species class can be defined by containing all individuals sharing a given code, e.g.,
o1:FelisConcolor a owl:Class
owl:equivalentClass
[owl:Restriction owl:onProperty o1:ITISCode owl:hasvalue '552479' ]
In O2 each concept is identified by the code using e.g., a subproperty of
skos:notation, say o2:ITISCode
o2:FelisConcolor a skos:Concept
o2:FelisConcolor o2:ITISCode '552479'
Note that sharing a code value is enough for mapping those two representations, for all pragmatic purpose. I can rely on SPARQL to find all concepts in O2 translating a class in O1 by the following request on the merged graph O1 U O2
SELECT ?cl ?co
WHERE [?cl owl:equivalentClass ?r. ?r a owl:Restriction. ?r owl:onProperty o1:ITIScode. ?r owl:hasValue ?n. ?co a skos:Concept. ?co o2:ITISCode ?n. ]
Suppose now you want to translate a class subsumption in O1 into a broader-narrower (transitive) hierarchy in O2. There yo can use a SPARQL CONSTRUCT
CONSTRUCT [?co1 skos:broaderTransitive ?co2]
WHERE [
?cl1 owl:equivalentClass ?r1. ?r1 a owl:Restriction. ?r1 owl:onProperty o1:ITIScode. ?r1 owl:hasValue ?n1. ?co1 a skos:Concept. ?co1 o2:ITISCode ?n1.
?cl2 owl:equivalentClass ?r2. ?r2 a owl:Restriction. ?r2 owl:onProperty o1:ITIScode. ?r2 owl:hasValue ?n2. ?co2 a skos:Concept. ?co2 o2:ITISCode ?n2.
?cl1 rdfs:subClassOf ?cl2. ]
This marks the end of Benard Vatant's contribution. Finally, Peter DeVries described an alternative approach including encoded examples in RDF and OWL in this post. He offered the following summary of the discussion:
I guess the issue can be summed up in the following way:
For those interested, I have new versions of these:
I also made an example RDF that tags various webpages to that species concept: http://rdf.taxonconcept.org/webpages/v6n7p.rdf
All these example RDF and OWL files are combined into one RDF file that can be used to see how they fit together: http://rdf.taxonconcept.org/taxonconcept.rdf