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

Diff of /Sprout/AttributesDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2, Wed Nov 29 20:28:52 2006 UTC revision 1.9, Wed Jul 2 04:56:16 2008 UTC
# Line 3  Line 3 
3    <Title>Attributes Database</Title>    <Title>Attributes Database</Title>
4    <Entities>    <Entities>
5      <Entity name="AttributeGroup" keyType="name-string">      <Entity name="AttributeGroup" keyType="name-string">
6        <Notes>A [i]group[/i] is a named set of attribute keys. An attribute key can belong to        <Notes>A _group_ is a named set of attribute keys. An attribute key can belong to
7        many groups or none at all.</Notes>        many groups or none at all.</Notes>
8      </Entity>      </Entity>
9      <Entity name="AttributeKey" keyType="name-string">      <Entity name="AttributeKey" keyType="name-string">
10        <Notes>An [i]attribute key[/i] describes named values attached to a particular type of object.        <Notes>An _attribute key_ describes named values attached to a particular type of object.
11        Each instance of this entity contains the attribute's description and its name. An attribute        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>        key name must consist of letters, numbers, periods, underscores, and hyphens.</Notes>
13        <Fields>        <Fields>
# Line 22  Line 22 
22        </Fields>        </Fields>
23      </Entity>      </Entity>
24      <Entity name="TargetObject" keyType="string">      <Entity name="TargetObject" keyType="string">
25        <Notes>An [i]object[/i] represents a keyed thing to which an attribute can be assigned.        <Notes>An _object_ represents a keyed thing to which an attribute can be assigned.
26        In order to improve performance, this table has no data in it. It is simply required by        In order to improve performance, this table has no data in it. It is simply required by
27        the semantics of the database.</Notes>        the semantics of the database.</Notes>
28      </Entity>      </Entity>
29        <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" type="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    </Entities>    </Entities>
48    <Relationships>    <Relationships>
49        <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      <Relationship name="IsInGroup" from="AttributeKey" to="AttributeGroup" arity="MM">      <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>        <Notes>This relationship connects an attribute key to the groups of which it is a member.</Notes>
62      </Relationship>      </Relationship>
# Line 35  Line 64 
64        <Notes>This relationship connects an attribute key to its objects. It contains the        <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>        attribute values, and is therefore the primary data repository for the database.</Notes>
66        <Fields>        <Fields>
67            <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">          <Field name="value" type="text">
74            <Notes>This is the actual attribute value. Note that a single key/object pair may in fact            <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>            have many values, and therefore many entries in this table.</Notes>
76          </Field>          </Field>
77        </Fields>        </Fields>
78          <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          <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          <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            <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            <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          </Indexes>
113      </Relationship>      </Relationship>
114    </Relationships>    </Relationships>
115  </Database>  </Database>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.9

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3