|
From: Janna H. <has...@eb...> - 2014-07-29 15:57:21
|
Hi Eric,
I don’t think that specifying domain constraints on our object properties forces our classes to be instances. This is because the modelling of object properties at the class level uses the standard OWL object property restriction with , so expressing oxygen-18 isotope of oxygen would result in the following OWL expression:
Oxygen-18 subClassOf isotope-of some Oxygen.
Regardless, we’re not planning to actually introduce this relation any time soon, so I wouldn’t start worrying about it.
Honestly, I don’t know whether or not your Option B would actually result in any inconsistencies if applied together with ChEBI. Chris, do you have any thoughts?
Cheers, Janna
From: Emw [mailto:emw...@gm...]
Sent: 29 July 2014 04:54
To: Janna Hastings
Cc: che...@li...
Subject: Re: [Chebi-ontology] Oxygen-18 to isotope: instance or subclass?
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 <http://www.ebi.ac.uk/chebi/chebiOntology.do?treeView=true&chebiId=CHEBI:33815> &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
|