[Bio] / Sprout / AttributesDBD.xml Repository:
ViewVC logotype

Annotation of /Sprout/AttributesDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (view) (download) (as text)

1 : parrello 1.1 <?xml version='1.0' standalone='yes'?>
2 :     <Database>
3 :     <Title>Attributes Database</Title>
4 :     <Entities>
5 :     <Entity name="AttributeGroup" keyType="name-string">
6 : parrello 1.8 <Notes>A _group_ is a named set of attribute keys. An attribute key can belong to
7 : parrello 1.1 many groups or none at all.</Notes>
8 :     </Entity>
9 :     <Entity name="AttributeKey" keyType="name-string">
10 : parrello 1.8 <Notes>An _attribute key_ describes named values attached to a particular type of object.
11 : parrello 1.1 Each instance of this entity contains the attribute's description and its name. An attribute
12 :     key name must consist of letters, numbers, periods, underscores, and hyphens.</Notes>
13 :     <Fields>
14 :     <Field name="description" type="text">
15 :     <Notes>Text describing the attribute. This should explain what the attribute means and
16 :     what kinds of values are appropriate.</Notes>
17 :     </Field>
18 :     <Field name="data-type" type="name-string">
19 :     <Notes>ERDB data type for the attribute. This serves as documentation only, but
20 :     that may change at some future point.</Notes>
21 :     </Field>
22 :     </Fields>
23 :     </Entity>
24 : parrello 1.2 <Entity name="TargetObject" keyType="string">
25 : parrello 1.8 <Notes>An _object_ represents a keyed thing to which an attribute can be assigned.
26 : parrello 1.2 In order to improve performance, this table has no data in it. It is simply required by
27 :     the semantics of the database.</Notes>
28 : parrello 1.1 </Entity>
29 : parrello 1.8 <Entity name="EvidenceClass" keyType="name-string">
30 :     <Notes>An _evidence class_ describes a general type of evidence code. An actual evidence
31 :     code consists of its class (e.g. =dlit=, =ff=) and an optional modifier. The modifier
32 :     is contained in the relationship between the class and the target object.</Notes>
33 :     <Fields>
34 :     <Field name="format" keyType="string">
35 :     <Notes>The format string is an example showing how the modifier portion of the
36 :     evidence code is formatted. It may contain HTML markup.</Notes>
37 :     </Field>
38 :     <Field name="short-description" type="string">
39 :     <Notes>The short description is a brief noun phrase explanation of the evidence class.</Notes>
40 :     </Field>
41 :     <Field name="description" type="text">
42 :     <Notes>The description is a long text description of the evidence class and its
43 :     format string.</Notes>
44 :     </Field>
45 :     </Fields>
46 :     </Entity>
47 : parrello 1.1 </Entities>
48 :     <Relationships>
49 : parrello 1.8 <Relationship name="IsEvidencedBy" from="TargetObject" to="EvidenceClass" arity="MM">
50 :     <Notes>This relationship connects a feature (target object) to its evidence.</Notes>
51 :     <Fields>
52 :     <Field name="modifier" type="string">
53 :     <Notes>The modifier contains ancillary information about the evidence, including
54 :     counts for clustering codes, pubmed IDs for literature codes, and so forth.
55 :     The modifier contains its own punctuation, and the full code is computed by
56 :     concatenating the modifier directly to the evidence class.</Notes>
57 :     </Field>
58 :     </Fields>
59 :     </Relationship>
60 : parrello 1.1 <Relationship name="IsInGroup" from="AttributeKey" to="AttributeGroup" arity="MM">
61 :     <Notes>This relationship connects an attribute key to the groups of which it is a member.</Notes>
62 :     </Relationship>
63 : parrello 1.2 <Relationship name="HasValueFor" from="AttributeKey" to="TargetObject" arity="MM">
64 :     <Notes>This relationship connects an attribute key to its objects. It contains the
65 :     attribute values, and is therefore the primary data repository for the database.</Notes>
66 :     <Fields>
67 : parrello 1.5 <Field name="subkey" type="string">
68 :     <Notes>Some attribute keys are split into two parts. The real key is controlled and
69 :     must correspond to a key in the AttributeKey table. The second part of the key
70 :     resides in this field. When the attribute value is presented to the user, the two
71 :     parts of the key are joined together around the splitter value.</Notes>
72 :     </Field>
73 :     <Field name="value" type="text">
74 : parrello 1.2 <Notes>This is the actual attribute value. Note that a single key/object pair may in fact
75 :     have many values, and therefore many entries in this table.</Notes>
76 :     </Field>
77 :     </Fields>
78 : parrello 1.5 <FromIndex>
79 :     <Notes>This index sorts all the values for a single attribute key by the subkey value.</Notes>
80 :     <IndexFields>
81 :     <IndexField name="subkey" order="ascending" />
82 :     </IndexFields>
83 :     </FromIndex>
84 : parrello 1.7 <ToIndex>
85 :     <Notes>This index sorts all the values for an object by attribute key and the subkey.</Notes>
86 :     <IndexFields>
87 :     <IndexField name="from-link" order="ascending" />
88 :     <IndexField name="subkey" order="ascending" />
89 :     </IndexFields>
90 :     </ToIndex>
91 : parrello 1.5 <Indexes>
92 :     <Index>
93 :     <Notes>This index allows searching for an attribute value by its prefix.</Notes>
94 :     <IndexFields>
95 :     <IndexField name="value" order="ascending" />
96 :     </IndexFields>
97 :     </Index>
98 : parrello 1.6 <Index>
99 :     <Notes>This index allows searching for values within keys.</Notes>
100 :     <IndexFields>
101 :     <IndexField name="from-link" order="ascending" />
102 :     <IndexField name="value" order="ascending" />
103 :     </IndexFields>
104 :     </Index>
105 : parrello 1.7 <Index>
106 :     <Notes>This index sorts all the values for a single attribute key by the target object ID.</Notes>
107 :     <IndexFields>
108 :     <IndexField name="from-link" order="ascending" />
109 :     <IndexField name="to-link" order="ascending" />
110 :     </IndexFields>
111 :     </Index>
112 : parrello 1.5 </Indexes>
113 : parrello 1.1 </Relationship>
114 :     </Relationships>
115 :     </Database>

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3