Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Attribute

Introduction

This page describes the Higgins concept of Attribute.

Definition

  • Defines a property of an Entity or a Context.
  • Has a URI-valued type which:
    • identifies the Attribute instances with a given Entity or Context
    • identifies the Attribute's Attribute Model
  • Has one or more values
  • The types of the values of an Attribute may be:
    • XML-Schema-based literal datatypes (a specific sub-set of the XML Schema literal types)
    • Sub-types of the XML-Schema-based literal datatypes
    • Complex (structured) datatypes
  • The set of values of a single Attribute may be any combination of the value types

Attribute Model

  • Defines the type(s) of its value(s) (e.g. "string" or "calendar-event")
  • May define the minimum cardinality of this Attribute--the minimum number of values that are allowed (e.g. >=3 values)
  • May define the maximum cardinality of this Attribute--the minimum number of values that are allowed (e.g. <=100 values)

Attribute Value Model (AVM) (e.g. directory string)

  • May specialize:
    • a base XML Schema type (e.g. String) for literal AVMs
    • OR a complex AVM
    • OR another AVM
  • Defines a set of constraints on its value(s) including:
    • Value must be one of {"red", "green", "blue"}
    • Syntax constraints (e.g. regular expression)
    • ranges (e.g. less than 5, more than 100)
    • matching rules
    • THIS SECTION NEEDS WORK

Details

  • Even if all values are literals, they may differ in specific literal datatype (e.g. strings and integers may be intermixed)
  • A special kind of Attribute is called a Relation
  • Some Attributes are defined by the containing Context's schema to allow multiple unique values. For example the attribute preferredBreakfast might have the values {spam, eggs}, but it could not have the values {spam, spam, spam, eggs, spam}.

Examples

The physical person Bob Smith might be represented as an Entity in the Context of his employer, the Port Control Authority. This Entity might have the following types of Attributes (and associated values) in this context:

  • email-address = bob@portcontrol.gov
  • phone number = {617-555-1234, 617-333-4321}
  • passport information = ...etc.
  • fingerprint data = ...etc.
  • surname = "Smith"

The surname Attribute in the example above might have a type of http://openschemas.org/2006/person/surname. The schema associated with the containing Context provides metadata about this URI.

This same physical person Bob Smith might also be represented as a Entity in a "customer-to-Clothes-R-Us" Context (this customer's relationship with the Clothes-R-Us merchant. In this Context Bob has these Attributes:

  • platinumCustomer = True
  • preferredColor = "blue"

HOWL


Open Issues

  • At present an attribute cannot have N>1 values where the values are the same. For example a very odd father might name each of his three kids "frank". Thus the father Entity cannot have an attribute "names-of-children" whose values are "frank, frank, frank".
  • We need to be able to describe the reality that "real world" context providers must restrict attributes to be "closed"

See Also

Links

Back to the top