|
From: Emw <emw...@gm...> - 2014-07-29 03:53:56
|
Janna, Chris,
I had not considered a relation *is_isotope_of* / *isotope_of*. It has the
advantage of precisely encoding the relation here, but also seems to have
some notable disadvantages.
First, it would not be valid in OWL 2 DL to make *isotope_of* a subproperty
of *is_a*. This is because *is_a* is equivalent to rdfs:subClassOf [1],
rdfs:subClassOf is a member of the reserved vocabulary, and OWL 2 DL
prohibits statements about the reserved vocabulary [2, 3]. The statement "
*is_isotope_of* rdfs:subPropertyOf rdfs:subClassOf" would not be decidable.
Second, it would be somewhat awkwardly redundant with *is_a*, yielding e.g.:
oxygen-18
*is_a *oxygen
*isotope_of* oxygen
This redundancy would be required since *isotope_of* would be
non-transitive, while *is_a* is transitive. Removing that *is_a* statement
-- which is the only *is_a* statement in oxygen-18 -- would prevent any
subclasses of oxygen-18 from inheriting axioms from oxygen and its
superclasses. (ChEBI might want to declare subclasses of isotopes like
oxygen-18 in the future; ontologies that import ChEBI might want to declare
such subclasses today.)
Third, it would entail modeling oxygen-18, hydrogen-2 etc. as instances if
we were to apply any domain constraints to *isotope_of*. This is because
rdfs:domain is "used to state that any resource that has a given property *is
an instance of* one or more classes" (emphasis mine) [4]. This actually
seems to be an existing issue in ChEBI, since all of the non-reserved
properties (e.g. *has_part, has_role, has_parent_hydride*) have domain
constraints, thus causing ChEBI to model virtually all its subjects as both
classes and instances.
The preceding issue is especially interesting because it seems to imply a
contradiction in the definition of "instance" between OWL 2 DL and the
Basic Formal Ontology (BFO), with which ChEBI seeks to be interoperable.
Smith 2004 [5] states "Instances are individuals (particulars, tokens) of
special sorts... bound to a specific... location in space and time." The
paper sets forth another defining feature: "nothing can be both an instance
and a class". A major innovation in OWL 2 DL, however, is that things can
be both an instance and a class [6]. (This construct is already used in
some major biological taxonomy ontologies, e.g. UniProt [7].) This makes
it valid to apply properties with rdfs:domain constraints to classes, but
it also seems to negate the definition of instances as things with a unique
spatiotemporal location as set forth in the Basic Formal Ontology.
Janna, finally, you mention that "Option B [modeling oxygen-18 as a class
and instance] would be less compatible as we model all atom types as
classes rather than instances." Is that lesser compatibility still
compatible with ChEBI? Or is it not compatible?
Thanks for any further insight here!
Eric
1. See statements such as "A has_subclass B = [definition] B is_a A" in
Smith et al. 2005 [8], and the mapping of *is_a* to rdfs:subClassOf
throughout OWL exports of ChEBI and other OBO ontologies.
2. "IRIs with prefixes *rdf:*, *rdfs:*, *xsd:*, and *owl:* constitute
the *reserved
vocabulary* of OWL 2." http://www.w3.org/TR/owl2-syntax/#IRIs
3. "IRIs from the reserved vocabulary other than *owl:topObjectProperty*
and *owl:bottomObjectProperty* *MUST NOT* be used to identify object
properties in an OWL 2 DL ontology."
http://www.w3.org/TR/owl2-syntax/#Object_Properties
4. Definition of rdfs:domain. http://www.w3.org/TR/rdf-schema/#ch_domain
5. Barry Smith, Cornelius Rosse (2004). *The Role of Foundational
Relations in the Alignment of Biomedical Ontologies*.
http://ontology.buffalo.edu/medo/isa.pdf
6. http://www.w3.org/TR/owl2-new-features/#F12:_Punning
7. UniProt models "human" as an instance of taxon and subclass of *Homo*;
see rdf:type and rdfs:subClassOf statements in
http://www.uniprot.org/taxonomy/9606.rdf.
8. Barry Smith et al. (2005). *Relations in Biomedical Ontologies*.
http://genomebiology.com/2005/6/5/r46
On Mon, Jul 28, 2014 at 6:44 AM, Janna Hastings <has...@eb...> wrote:
> Dear Eric,
>
>
>
> We have no specific representation of ‘isotope’ in ChEBI because all
> elements have isotopes, so it would not really add any information to have
> this extra class.
>
>
>
> In our atom classification, the specific isotopes tend to be the leaves
> (i.e. they have no is_a children). We believe that your Option A would not
> be incompatible with what ChEBI is doing, though. Option B would be less
> compatible as we model all atom types as classes rather than instances.
>
>
>
> In fact, it seems to us that the most correct way to model isotopes would
> be to have a relation such as ‘is_isotope_of’ which was a subproperty of
> is_a, just for that last level of classification in the atom hierarchy.
> However, ChEBI is somewhat constrained by old legacy architecture and thus
> does not have the flexibility to add a relation such as this.
>
>
>
> Thank you for your interest in ChEBI,
>
>
>
> Best wishes,
>
> Janna and the ChEBI team.
>
>
>
> *From:* Emw [mailto:emw...@gm...]
> *Sent:* 26 July 2014 20:53
> *To:* che...@li...
> *Subject:* [Chebi-ontology] Oxygen-18 to isotope: instance or subclass?
>
>
>
> Hello,
>
> While reviewing the ChEBI ontology, it struck me that there is no entity
> for the subject "isotope". Classes like oxygen-18 are subclasses of oxygen
> [1], but while they are clearly isotopes and described as such in the
> free-text definition, that fact is not stated in the ontology's structured
> data.
>
>
>
> This lack of an "isotope" concept presents a practical issue. How would
> one retrieve all entities like oxygen-18, oxygen-16, carbon-12, hydrogen-1
> (protium), hydrogen-3 (tritium), etc. using a SPARQL query? By convention,
> ChEBI seems to set isotopes as the direct subclasses of chemical elements
> like oxygen, carbon, hydrogen etc. But perhaps in the future things that
> are not "an isotope" could be set as a direct subclasses of elements.
>
> One solution (Option A) might be to model oxygen-18 as a direct subclass
> of isotope, i.e.:
>
> oxygen-18:
> * subclass of* oxygen
>
> *subclass of* isotope
>
> Users could then get only things like oxygen-16, oxygen-17 and oxygen-18
> with a query like:
>
> SELECT ?subject WHERE { ?subject rdfs:subClassOf oxygen . ?subject
> rdfs:subClassOf isotope . }
>
> This query avoids retrieving any potential subclasses of oxygen-18 by not
> using inference, i.e. using rdfs:subClassOf instead of rdfs:subClassOf*.
>
> Another solution (Option B) might be to model oxygen-18 as an instance of
> (i.e., rdf:type) isotope as follows:
>
> oxygen-18
>
> *subclass of* oxygen
>
> *instance of* isotope
>
> This approach explicitly metamodels isotope via punning, a feature in OWL
> 2 DL [2], and might allow queries to retrieve things like oxygen-16,
> oxygen-17 and oxygen-18 without disabling inference. It may also be
> applicable for other types of nuclides; perhaps as metamodeling is used in
> biological taxonomy to say "human *instance of* taxon*; *human *subclass
> of* primate". On the other hand, this approach seems to conflict with
> the interpretation of an "instance" as a particular thing in space and time
> as used for other material entities, e.g. "Dmitri Mendeleev *instance of*
> human".
>
> Would an ontology that modeled oxygen-18 and other isotopes as in Option B
> be interoperable with ChEBI? Is Option A or Option B preferable?
>
>
>
> Also, is there a reason ChEBI does not contain an entry on the generic
> subject "isotope"? At a glance, tying "isotope" into the wider ontology
> with a statement like "isotope *subclass of* atom" seems reasonable.
> However, the statement "atom *subclass of* isotope" also seems valid.
> This entails "atom owl:equivalentClass isotope" [3], which stands to human
> reason as there are no instances of atom that are not also instances of
> isotope, and vice versa. Nevertheless, most textbooks separate their
> explanation of "atom" and "isotope", and for many humans they do seem like
> separate concepts. How would ChEBI address this?
>
> These questions arise from discussion among contributors on Wikidata, the
> free knowledge base used by Wikipedia [4, 5]. We are trying to find the
> best way to classify subjects like isotope and oxygen-18 [6, 7] among over
> 15 million other subjects from the rest of human knowledge. We use
> properties with semantics in OWL 2 DL like rdf:type (*instance of*) and
> rdfs:subClassOf (*subclass of*, i.e. *is_a* in ChEBI) [8, 9].
>
> Ideally we would like Wikidata's classification of chemical entities to be
> interoperable with ChEBI and other ontologies in the Semantic Web. Thanks
> in advance for any help!
>
>
>
> Regards,
>
> Eric
> https://www.wikidata.org/wiki/User:Emw
>
>
>
> 1.
> http://www.ebi.ac.uk/chebi/chebiOntology.do?treeView=true&chebiId=CHEBI:33815
> 2. http://www.w3.org/TR/owl2-new-features/#F12:_Punning
> 3. http://www.w3.org/TR/owl-ref/#equivalentClass-def
> 4. https://www.wikidata.org
> 5. *Introducing Wikidata to the Linked Data Web*. Erxleben et al. 2014.
> http://korrekt.org/papers/Wikidata-RDF-export-2014.pdf
> 6. "oxygen-18" on Wikidata. https://www.wikidata.org/wiki/Q662269
> 7. "isotope" on Wikidata. https://www.wikidata.org/wiki/Q25276
> 8. instance of. https://www.wikidata.org/wiki/Property:P31
>
> 9. subclass of. https://www.wikidata.org/wiki/Property:P279
>
|