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

View of /Sprout/AttributesDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Tue Nov 28 01:01:01 2006 UTC (13 years ago) by parrello
Branch: MAIN
Added to support the new attribute system.

<?xml version='1.0' standalone='yes'?>
<Database>
  <Title>Attributes Database</Title>
  <Entities>
    <Entity name="AttributeGroup" keyType="name-string">
      <Notes>A [i]group[/i] is a named set of attribute keys. An attribute key can belong to
      many groups or none at all.</Notes>
    </Entity>
    <Entity name="AttributeKey" keyType="name-string">
      <Notes>An [i]attribute key[/i] describes named values attached to a particular type of object.
      Each instance of this entity contains the attribute's description and its name. An attribute
      key name must consist of letters, numbers, periods, underscores, and hyphens.</Notes>
      <Fields>
        <Field name="description" type="text">
          <Notes>Text describing the attribute. This should explain what the attribute means and
          what kinds of values are appropriate.</Notes>
        </Field>
        <Field name="data-type" type="name-string">
          <Notes>ERDB data type for the attribute. This serves as documentation only, but
          that may change at some future point.</Notes>
        </Field>
      </Fields>
    </Entity>
    <Entity name="Assignment" keyType="hash-string">
      <Notes>An [i]assignment[/i] represents the relationship between an attribute key and
      an object. The key is the digest of a string formed by the attribute key name, an equal sign,
      and the object ID. Since the key name cannot contain equal signs, the string is enough
      to uniquely identify an assignment.</Notes>
      <Fields>
        <Field name="object-id" type="string">
          <Notes>This is the ID of the object to which the assignment is made.</Notes>
        </Field>
        <Field name="value" relation="AssignmentValue" type="text">
          <Notes>Value assigned to the object for the specified key. There may be more than
          one value assigned.</Notes>
        </Field>
      </Fields>
      <Indexes>
        <Index>
          <Notes>This index allows the user to search for assignments with a particular value.</Notes>
          <IndexFields>
            <IndexField name="value" order="ascending" />
          </IndexFields>
        </Index>
        <Index>
          <Notes>This index allows the user to search for all assignments to a particular object.</Notes>
          <IndexFields>
            <IndexField name="object-id" order="ascending" />
          </IndexFields>
        </Index>
      </Indexes>
    </Entity>
  </Entities>
  <Relationships>
    <Relationship name="IsInGroup" from="AttributeKey" to="AttributeGroup" arity="MM">
      <Notes>This relationship connects an attribute key to the groups of which it is a member.</Notes>
    </Relationship>
    <Relationship name="IsKeyOf" from="AttributeKey" to="Assignment" arity="1M">
      <Notes>This relationship connects an attribute key to its assignments.</Notes>
    </Relationship>
  </Relationships>
</Database>

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3