XgapDataModel: fuge_db.2.xml

File fuge_db.2.xml, 24.7 KB (added by Morris Swertz, 15 years ago)
Line 
1<molgenis>
2        <!--
3                all xrefs to identifiable have xref_label="name"
4        -->
5        <module name="fuge.common">
6                <description>Common elements inherited from FuGE.</description>
7                <entity name="Identifiable" extends="Describable">
8                        <description>
9                                Other classes in the model can be specified as
10                                sub-classes, inheriting from Identifiable. Identifiable
11                                gives classes a unique identifier within the scope and a
12                                name that need not be unique. Identifiable also provides
13                                a mechanism for annotating objects with
14                                BibliographicReference(s) and DatabaseEntry(s).
15                        </description>
16                        <!-- <field nillable="false" auto="false" name="identifier" type="varchar" description="An identifier is an unambiguous string that is unique within the scope (i.e. a document, a set of related documents, or a repository) of its use."/> -->
17                        <field index="true" nillable="false" auto="false" name="name"
18                                length="127" type="varchar"
19                                description="The potentially ambiguous common identifier, such as a human-readable name for the instance." />
20                        <!-- field nillable="true" auto="false" name="bibliographicReferences" type="mref" description="null:References to existing literature." xref_name="BibliographicReferences" xref_entity="BibliographicReference" xref_field="id" xref_label="name"/-->
21                </entity>
22                <entity name="Describable">
23                        <description>
24                                Abstract class that allows subclasses to inherit
25                                associations that enable objects to be given a text
26                                description, additional annotations as Ontology entries,
27                                a URI, associations to Audit for tracking changes, and
28                                the association to Security for indicating permissions.
29                                The URI, Annotations, PropertySets and Descriptions
30                                associations inherited from Describable should only be
31                                used to capture additional information where the model
32                                contains no other structures that could be used to
33                                capture the information.
34                        </description>
35                        <!-- field nillable="true" auto="false" name="security" type="xref" description="shared:Information on the security for the instance of the class." xref_name="Security" xref_entity="Security" xref_field="id" xref_label="name"/>
36                                <field nillable="true" auto="false" name="annotations" type="mref" description="null:Allows specification of additional ontology entries related to the instance being described that are not directly specified elsewhere." xref_name="Annotations" xref_entity="OntologyTerm" xref_field="id" xref_label="name"/>
37                                <field nillable="true" auto="false" name="uri" type="xref" description="Self-reference (has-single): composite:A URI associated with a Describable object." xref_name="URI" xref_entity="URI" xref_field="id" xref_label="name"/-->
38                        <field nillable="false" auto="true" name="id"
39                                type="int" readonly="true"
40                                description="automatically generated id-field" unique="true" />
41                </entity>
42                <entity name="Security" extends="Identifiable">
43                        <description>
44                                Permission information for an object as to ownership,
45                                write and read permissions.
46                        </description>
47                        <field nillable="true" auto="false" name="owners"
48                                type="mref"
49                                description="null:The owner(s) of the security rights on the object."
50                                xref_name="Owners" xref_entity="Contact" xref_field="id"
51                                xref_label="name" />
52                </entity>
53                <entity name="OntologyTerm" extends="Identifiable">
54                        <description>
55                                A single entry from an ontology or a controlled
56                                vocabulary. If it is a simple controlled vocabulary,
57                                there may be no formal accession for the term. In these
58                                cases the local name should be repeated in both term and
59                                termAccession. If the term has a value, the
60                                OntologyIndividual will have a single DataProperty whose
61                                value was the value for the property. For instance, for
62                                an OntologyIndividual based on the MO ontology the
63                                attributes might be: The term would be what is usually
64                                called the local name in the Ontology, for instance
65                                'Age'; The termAccession could be
66                                'http://mged.sourceforge.net/ontologies/MGEDOntology.owl#Age'
67                                or a an arbitrary accession if one exists; The
68                                identifier is a unique identifier for individuals in the
69                                scope of the FuGE instance; The inherited name attribute
70                                should not be used; The ontologyURI of OntologySource
71                                could be
72                                'http://mged.sourceforge.net/ontologies/MGEDOntology.owl&quot;.
73                                The OntologyTerm subclasses are instances of Ontology
74                                classes and properties, not the actual terms themselves.
75                                An OntologyIndividual, if based on an existing Ontology,
76                                can be considered a statement that can be validated
77                                against the referenced ontology. The subclasses and
78                                their associations are based on the Ontology Definition
79                                Model, ad/2005-04-13, submitted to the OMG as a response
80                                to RFP ad/2003-03-40, Copyright © 2005 DSTC Pty Ltd.
81                                Copyright © 2005 IBM Copyright © 2005 Sandpiper
82                                Software, Inc under the standard OMG license terms.
83                        </description>
84                        <field nillable="false" auto="false" name="term"
85                                type="varchar"
86                                description="The ontology term itself, also known as the local name in some ontologies." />
87                        <field nillable="false" auto="false" name="termAccession"
88                                type="varchar"
89                                description="The accession number assigned to the ontology term in the source ontology. If there is no explicit accession assigned, then the term (localname) must be repeated (i.e. the term is the unique accession).  " />
90                        <field nillable="true" auto="false" name="ontologySource"
91                                type="xref"
92                                description="null:The source ontology or controlled vocabulary list that ontology terms have been obtained from."
93                                xref_name="OntologySource" xref_entity="OntologySource"
94                                xref_field="id" xref_label="name" />
95                </entity>
96                <entity name="URI" extends="Describable">
97                        <description>
98                                A URI is short for Uniform Resource Identifier. A URI is
99                                a compact sequence of characters that identifies an
100                                abstract or physical resource.
101                        </description>
102                        <field nillable="false" auto="false" name="location"
103                                type="hyperlink"
104                                description="The Uniform Resource Indicator for this object." />
105                </entity>
106                <entity name="BibliographicReference" extends="Identifiable">
107                        <description>
108                                Represents bibliographic references, including the most
109                                common attributes. Note that because a
110                                BibliographicReference is Identifiable, a DatabaseEntry
111                                can also be specified.
112                        </description>
113                        <field nillable="false" auto="false" name="authors"
114                                type="varchar"
115                                description="The names of the authors of the reference." />
116                        <field nillable="false" auto="false" name="publication"
117                                type="varchar" description="The name of the journal, book etc." />
118                        <field nillable="false" auto="false" name="publisher"
119                                type="varchar" description="The publisher of the publication." />
120                        <field nillable="false" auto="false" name="editor"
121                                type="varchar" description="The editor(s) of the reference." />
122                        <field nillable="false" auto="false" name="year" type="int"
123                                description="The year of publication." />
124                        <field nillable="false" auto="false" name="volume"
125                                type="varchar" description="The volume name or number." />
126                        <field nillable="false" auto="false" name="issue"
127                                type="varchar" description="The issue name or number." />
128                        <field nillable="false" auto="false" name="pages"
129                                type="varchar" description="The page numbers." />
130                        <field nillable="false" auto="false" name="title"
131                                type="varchar"
132                                description="The title of the BibliographicReference." />
133                </entity>
134                <entity name="OntologySource" extends="Identifiable">
135                        <description>
136                                The source ontology or controlled vocabulary list that
137                                ontology terms have been obtained from.
138                        </description>
139                        <field nillable="false" auto="false" name="ontologyURI"
140                                type="hyperlink"
141                                description="A URI that references the location of the ontology." />
142                </entity>
143                <entity name="Contact" extends="Identifiable">
144                        <description>
145                                A contact is either a person or an organization.
146                        </description>
147                        <field nillable="false" auto="false" name="address"
148                                type="varchar" description="The address of the Contact." />
149                        <field nillable="false" auto="false" name="phone"
150                                type="varchar"
151                                description="The telephone number of the Contact including the suitable area codes." />
152                        <field nillable="false" auto="false" name="email"
153                                type="varchar" description="The email address of the Contact." />
154                        <field nillable="false" auto="false" name="fax"
155                                type="varchar" description="The fax number of the Contact." />
156                        <field nillable="false" auto="false" name="tollFreePhone"
157                                type="varchar"
158                                description="A toll free phone number for the Contact, including suitable area codes." />
159                </entity>
160                <entity name="Description" extends="Describable">
161                        <description>
162                                A free text description of an object.
163                        </description>
164                        <field nillable="false" auto="false" name="text"
165                                type="varchar" description="The description." />
166                        <field nillable="false" auto="false"
167                                name="Describable_descriptions" type="xref"
168                                description="Making MREF of 'Describable.descriptions': composite:Free hand text descriptions.  "
169                                xref_entity="Describable" xref_field="id" />
170                </entity>
171                <entity name="DatabaseReference" extends="Describable">
172                        <description>
173                                A reference to a record in a database.
174                        </description>
175                        <field nillable="false" auto="false" name="accession"
176                                type="varchar"
177                                description="The identifier used to look up the record." />
178                        <field nillable="false" auto="false" name="accessionVersion"
179                                type="varchar"
180                                description="The appropriate version of the accession (if applicable)." />
181                        <field nillable="false" auto="false" name="database_id"
182                                type="xref"
183                                description="null:Reference to the database where the DatabaseEntry instance can be found."
184                                xref_name="Database" xref_entity="Database" xref_field="id" />
185                        <field nillable="false" auto="false"
186                                name="IdentifiableReferences" type="xref"
187                                description="Making MREF of 'Identifiable.databaseReferences': composite:References to entries in databases."
188                                xref_entity="Identifiable" xref_field="id" />
189                </entity>
190                <entity name="Database" extends="Identifiable">
191                        <description>An address to a repository.</description>
192                        <field nillable="false" auto="false" name="version"
193                                type="varchar" description="The version of the Database." />
194                        <field nillable="false" auto="false" name="dburi"
195                                type="hyperlink" description="The location of the Database." />
196                </entity>
197                <entity name="FugeProtocolApplication"
198                        extends="ParameterizableApplication">
199                        <description>
200                                The use of a protocol with the requisite Parameters and
201                                ParameterValues. ProtocolApplications can take Material
202                                or Data (or both) as input and produce Material or Data
203                                (or both) as output. ProtocolApplication is abstract and
204                                should be subclassed in the development of modular
205                                formats. The subclass GenericProtocolApplication can be
206                                used without extension.
207                        </description>
208                        <field nillable="false" auto="false" name="activityDate"
209                                type="datetime" description="When the protocol was applied." />
210                        <field nillable="true" auto="false" name="inputData"
211                                type="mref"
212                                description="null:The input data for a ProtocolApplication."
213                                xref_name="InputData" xref_entity="Data" xref_field="id"
214                                xref_label="name" />
215                        <field nillable="false" auto="false" name="protocol"
216                                type="xref" description="null:The protocol that is being used."
217                                xref_name="Protocol" xref_entity="Protocol" xref_field="id"
218                                xref_label="name" />
219                        <!-- field nillable="true" auto="false"
220                                name="inputCompleteMaterials" type="mref"
221                                description="FIXME: upgraded(one-to-many to many-to-many). This association should be extended for cases where the entire Material is used in the ProtocolApplication in full and it does not make sense to give a measured quantity of the Material as input."
222                                xref_name="InputCompleteMaterials" xref_entity="Material"
223                                xref_field="id" xref_label="name" /-->
224                        <field nillable="true" auto="false" name="protocolDeviation"
225                                type="xref"
226                                description="Self-reference (has-single): composite:References a Description object to define human readable protocol deviations."
227                                xref_name="ProtocolDeviation" xref_entity="Description"
228                                xref_field="id" />
229                        <field nillable="true" auto="false" name="outputMaterials"
230                                type="mref"
231                                description="FIXME: upgraded(one-to-many to many-to-many). Association to the Material(s) created as output by this ProtocolApplication."
232                                xref_name="OutputMaterials" xref_entity="Material"
233                                xref_field="id" xref_label="name" />
234                        <field nillable="true" auto="false" name="outputData"
235                                type="mref"
236                                description="FIXME: upgraded(one-to-many to many-to-many). The data produced by a ProtocolApplication."
237                                xref_name="OutputData" xref_entity="Data" xref_field="id"
238                                xref_label="name" />
239                </entity>
240                <entity name="ParameterizableApplication"
241                        extends="Identifiable">
242                        <description>
243                                The interface that is the use of a Parameterizable
244                                class.
245                        </description>
246                </entity>
247                <entity name="Protocol" extends="Parameterizable">
248                        <description>
249                                A Protocol is a parameterizable description of a method.
250                                ProtocolApplication is used to specify the
251                                ParameterValues of its Protocol's Parameters. Protocol
252                                should be extended in data formats. For cases where no
253                                extension is developed, the subclass of Protocol,
254                                GenericProtocol, should be used to capture experimental
255                                protocols.
256                        </description>
257                        <field nillable="true" auto="false" name="outputTypes"
258                                type="mref"
259                                description="null:The types of outputs produced by this Protocol e.g. organisms, solutions, data formats etc. "
260                                xref_name="OutputTypes" xref_entity="OntologyTerm"
261                                xref_field="id" xref_label="name" />
262                        <field nillable="true" auto="false" name="inputTypes"
263                                type="mref"
264                                description="null:The types of inputs this Protocol can take e.g. organisms, solutions, data formats etc. "
265                                xref_name="InputTypes" xref_entity="OntologyTerm"
266                                xref_field="id" xref_label="name" />
267                        <field nillable="true" auto="false" name="software"
268                                type="mref" description="null:Software used by this Protocol."
269                                xref_name="Software" xref_entity="Software" xref_field="id"
270                                xref_label="name" />
271                        <field nillable="true" auto="false" name="equipment"
272                                type="mref" description="null:Hardware used by this protocol."
273                                xref_name="Equipment" xref_entity="Equipment"
274                                xref_field="id" xref_label="name" />
275                </entity>
276                <entity name="Parameterizable" extends="Identifiable">
277                        <description>
278                                The Parameterizable interface encapsulates the
279                                association of Parameters with ParameterValues.
280                        </description>
281                        <field nillable="true" auto="false" name="types" type="mref"
282                                description="null:The type of Equipment, Software or Protocol."
283                                xref_name="Types" xref_entity="OntologyTerm" xref_field="id"
284                                xref_label="name" />
285                </entity>
286                <entity name="Software" extends="Parameterizable">
287                        <description>
288                                Software used in the Protocol. Examples of Software
289                                include: feature extraction software, clustering
290                                software, etc... Software is abstract and should either
291                                be extended by subclassing or the GenericSoftware class,
292                                a functional version of Software, should be used without
293                                extension.
294                        </description>
295                        <field nillable="false" auto="false" name="version"
296                                type="varchar" description="The version of Software used." />
297                        <field nillable="true" auto="false" name="equipment"
298                                type="mref"
299                                description="FIXME: upgraded(one-to-many to many-to-many). Associates Equipment and Software together.  Indicates that a set of Software is run on a piece of Equipment."
300                                xref_name="Software2Equipment" xref_entity="Equipment"
301                                xref_field="id" xref_label="name" />
302                </entity>
303                <entity name="Equipment" extends="Parameterizable">
304                        <description>
305                                The equipment (hardware) used in the Protocol. Examples
306                                include: computers, scanners, wash stations etc...
307                                Equipment is abstract and should either be extended by
308                                subclassing or the GenericEquipment class, a functional
309                                version of Equipment, should be used.
310                        </description>
311                        <field nillable="true" auto="false" name="make" type="xref"
312                                description="null:The equipment make, usually the organization that makes the equipment."
313                                xref_name="Make" xref_entity="OntologyTerm" xref_field="id"
314                                xref_label="name" />
315                        <field nillable="true" auto="false" name="equipmentParts"
316                                type="mref"
317                                description="null:This association can be used to specify sub-components of a &quot;parent&quot; Equipment instance. The cardinality allows pieces of Equipment to be associated with more than one parent, for example allowing the re-use different parts.   If a Protocol makes use of a &quot;parent&quot; Equipment and EquipmentParts, all of the sub-component Equipment instances must also be directly referenced from the Protocol using the Equipment association."
318                                xref_name="EquipmentParts" xref_entity="Equipment"
319                                xref_field="id" xref_label="name" />
320                        <field nillable="true" auto="false" name="software"
321                                type="mref"
322                                description="FIXME: upgraded(one-to-many to many-to-many). Associates Equipment and Software together.  Indicates that a set of Software is run on a piece of Equipment."
323                                xref_name="Software2Equipment" xref_entity="Software"
324                                xref_field="id" xref_label="name" />
325                        <field nillable="true" auto="false" name="model" type="xref"
326                                description="null:The Equipment model." xref_name="Model"
327                                xref_entity="OntologyTerm" xref_field="id"
328                                xref_label="name" />
329                </entity>
330        </module>
331        <module name="fuge.bio">
332                <description>Bio elements inherited from FuGE.</description>
333                <entity name="FugeInvestigation" extends="Identifiable">
334                        <description>
335                                An Investigation is a self-contained unit of study that
336                                contains one or more types of 'omics technology.
337                        </description>
338                        <!-- field nillable="true" auto="false" name="conclusion" type="xref" description="Self-reference (has-single): composite:The conclusions of the Investigation." xref_name="Conclusion" xref_entity="Description" xref_field="id"/>
339                                <field nillable="true" auto="false" name="sourceMaterials" type="mref" description="null:Investigationally important materials.  These are typically a species or set of strains.  This might also be a bucket of seawater or a pound of dirt. It is expected that these Materials are referenced by a ProtocolApplication." xref_name="SourceMaterials" xref_entity="Material" xref_field="id" xref_label="name"/>
340                                <field nillable="true" auto="false" name="investigationTypes" type="mref" description="null:The biological design type of the Investigation, such as toxicity, drug-response, gene knockout etc." xref_name="InvestigationTypes" xref_entity="OntologyTerm" xref_field="id" xref_label="name"/>
341                                <field nillable="true" auto="false" name="summaryResults" type="mref" description="null:HigherLevelAnalyses performed over data." xref_name="SummaryResults" xref_entity="HigherLevelAnalysis" xref_field="id" xref_label="name"/>
342                                <field nillable="true" auto="false" name="hypothesis" type="xref" description="Self-reference (has-single): composite:The hypothesis being tested in the investigation." xref_name="Hypothesis" xref_entity="Description" xref_field="id"/>
343                                <field nillable="true" auto="false" name="investigationSummary" type="mref" description="null:OntologyTerms can be referenced that describe the hypothesis, conclusion or other summary information about the Investigation." xref_name="InvestigationSummary" xref_entity="OntologyTerm" xref_field="id" xref_label="name"/>-->
344                        <field nillable="true" auto="false" name="start"
345                                type="datetime"
346                                description="The start point of the investigation. (n.b. removed null constraint)" />
347                        <field nillable="true" auto="false" name="end"
348                                type="datetime"
349                                description="The end point of the investigation. (n.b. removed null constraint)" />
350                </entity>
351
352                <entity name="Material" extends="Identifiable">
353                        <description>
354                                Material represents any kind of substance used in an
355                                experimental workflow, such as whole organisms, cells,
356                                DNA, solutions, compounds and experimental substances
357                                (gels, arrays etc.). The Material class can be extended
358                                by adding subclasses to model domain specific
359                                properties, or the relationships to OntologyIndividual
360                                can be used to describe the characteristics and type of
361                                Material. Materials can be related to other materials
362                                through a directed acyclic graph (represented by
363                                ProtocolApplication(s)). Sub-component materials can be
364                                represented by the self-association on Material (e.g.
365                                Wells within a array). These associations are abstract
366                                and should be extended to represent these semantics for
367                                extensions of ProtocolApplication and Material.
368                        </description>
369                        <field nillable="true" auto="false" name="components"
370                                type="mref"
371                                description="null:Association from a Material to other Materials that are sub-components (such as wells within an array plate). If a subcomponent undergoes a ProtocolApplication, then the containing Material must also be an input to the ProtocolApplication and be output as a new Material or version of the Material."
372                                xref_name="Components" xref_entity="Material"
373                                xref_field="id" xref_label="name" />
374                        <field nillable="true" auto="false" name="materialType"
375                                type="xref"
376                                description="null:The type of material used, i.e. RNA, DNA, lipid, phosphoprotein, organism etc."
377                                xref_name="MaterialType" xref_entity="OntologyTerm"
378                                xref_field="id" xref_label="name" />
379                        <field nillable="true" auto="false" name="characteristics"
380                                type="mref" description="null:The characteristics of a Material. "
381                                xref_name="Characteristics" xref_entity="OntologyTerm"
382                                xref_field="id" xref_label="name" />
383                        <field nillable="true" auto="false"
384                                name="qualityControlStatistics" type="mref"
385                                description="null:Measures of the quality of the Material."
386                                xref_name="QualityControlStatistics" xref_entity="OntologyTerm"
387                                xref_field="id" xref_label="name" />
388                </entity>
389                <entity name="HigherLevelAnalysis" extends="Identifiable">
390                        <description>
391                                A container for domain-specific analyses performed on
392                                data. Subclasses must be created for different domains.
393                        </description>
394                        <field nillable="true" auto="false" name="conclusion"
395                                type="xref"
396                                description="Self-reference (has-single): composite:The conclusion reached from the HigherLevelAnalysis."
397                                xref_name="Conclusion" xref_entity="Description"
398                                xref_field="id" />
399                        <field nillable="true" auto="false" name="supportingData"
400                                type="mref"
401                                description="null:Association to the Data on which the HigherLevelAnalysis has been performed."
402                                xref_name="SupportingData" xref_entity="Data"
403                                xref_field="id" xref_label="name" />
404                        <field nillable="true" auto="false" name="hypothesis"
405                                type="xref"
406                                description="Self-reference (has-single): composite:The hypothesis being tested by the HigherLevelAnalysis"
407                                xref_name="Hypothesis" xref_entity="Description"
408                                xref_field="id" />
409                </entity>
410                <entity name="FugeData" extends="Identifiable">
411                        <description>
412                                Data can be an input to or an output from a
413                                ProtocolApplication. Data may be produced from a
414                                Material (data acquisition) or from another Data object
415                                (data transformation). Examples of Data are gene
416                                expression measurements, or phenotypes associated with
417                                genetic manipulations.
418                        </description>
419                        <!-- field nillable="true" auto="false" name="dimensions" type="mref" description="null:The dimensions contained within this Data object." xref_name="Dimensions" xref_entity="Dimension" xref_field="id" xref_label="name"/-->
420                </entity>
421                <!-- <entity name="Dimension" extends="Identifiable">
422                        <description>A single dimension of a coordinate system. The DimensionElement class represents the discrete domain values represented in this dimension. A dimension with infinite domain values is not modeled here, for practical reasons. </description>
423                        <field nillable="true" auto="false" name="dimensionType" type="xref" description="null:The type of Dimension e.g. &quot;array feature dimension&quot;" xref_name="DimensionType" xref_entity="OntologyTerm" xref_field="id" xref_label="name"/>
424                        </entity> -->
425                <entity name="FugeDimensionElement" extends="Identifiable">
426                        <description>
427                                A single point within a parent dimension. This class
428                                should be extended.
429                        </description>
430                        <!-- NOT NECESSARY, is classname of the thing <field nillable="false" auto="false" name="Dimension" type="xref" description="Making MREF of 'Dimension.dimensionElements': composite:The DimensionElements belonging to this Dimension." xref_entity="Dimension" xref_field="id" xref_label="name"/>-->
431                </entity>
432        </module>
433</molgenis>