OntologyDBWiki/MAGEOMDiscussion: Difference between revisions
imported>KaiRunte No edit summary |
imported>KaiRunte No edit summary |
||
Line 44: | Line 44: | ||
I will now describe how the data from the MGED ontology can be stored in the object model mentioned above. This alone should show that the object model make handling and querying an ontology awkward and time-consuming. | I will now describe how the data from the MGED ontology can be stored in the object model mentioned above. This alone should show that the object model make handling and querying an ontology awkward and time-consuming. | ||
First of all, the object model has no distinction between a class and an instance. As a workaround I define a class as an OntologyEntry with empty value attribute. For example, to define the term "disease state design", which is an instance of the PerturbationalDesign class, I create an object OntologyEntry with value="disease state design" and category="[[PerturbationalDesign]]" |
Revision as of 15:14, 13 December 2004
Discussion of the MAGE object model (MAGE-OM) ontology classes
Introduction
In the section "overview" I introduce the classes as they were defined by Michi in O2DBI. I also highlight differences to the "official" documentation at the EBI: [1]. In the next section, "use case", I create a simple use case to show why it is not such a good idea to try to store a complex ontology like the MGED in this object model.
Overview
The MAGE-OM has three classes that are dedicated to referencing text entries from a controlled vocabulary or ontology. These classes are (O2DBI version):
- Class OntologyEntry EBI Documentation
- Attributes:
- category: String
- value: String
- description: String
- association: References to OntologyEntry
- ontologyReference: Reference to DBEntry
- owner: String [?]
- creator: String [?]
- Attributes:
- Class DBEntry EBI Documentation
- Attributes:
- accession: String
- accessionVersion: String
- URI: String
- database: Reference to Database
- Attributes:
- Class Database EBI Documentation
- Attributes:
- version: String
- URI: String
- description: String [?]
- name: String [from Identifiable?]
- db_ref: External BRIDGE reference [?]
- alt_URI: List of Strings [?]
- type: OntologyEntry [?]
- maintainer_email: String [?]
- Attributes:
Comments/Questions
- all the attributes marked with [?] were not found in the array express object model documentation. Where do these come from?
Use Case
I want to extract information from the MGED ontology for the experiment design type while keeping the structure as it is defined in this ontology. In detail, the MGED ontology has a class ExperimentDesignType with several sub-classes (e.g. PerturbationalDesign). Each of these sub-classes has in turn instances that define the actual terms to use as values for an experiment design type. Of course, when these terms are stored in the ontology, they should be easily extractable, that is if I ask "Give me all values for ExperimentDesignType", I should receive all instances of ExperimentDesignType including its sub-classes.
I will now describe how the data from the MGED ontology can be stored in the object model mentioned above. This alone should show that the object model make handling and querying an ontology awkward and time-consuming.
First of all, the object model has no distinction between a class and an instance. As a workaround I define a class as an OntologyEntry with empty value attribute. For example, to define the term "disease state design", which is an instance of the PerturbationalDesign class, I create an object OntologyEntry with value="disease state design" and category="PerturbationalDesign"