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

Difference between revisions of "Attribute"

m (Added category)
(Definition)
 
(38 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins}}
+
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}} [[Image:Higgins_logo_76Wx100H.jpg|right]]
==Introduction==
+
== Version ==
This page describes the Higgins concept of [[Attribute]].
+
This page describes the concept of [[Attribute]] used in [[Context Data Model 1.0]] and [[Context Data Model 2.0]]
  
 
== Definition ==
 
== Definition ==
* Defines a property of an [[Node]] or a [[Context]].  
+
* Is a property of an [[Entity]] (or [[Context]]).  
* Has a type (URI)
+
 
* Has one or more values all of which MUST be unique
 
* Has one or more values all of which MUST be unique
 
* Has either simple or complex value(s)
 
* Has either simple or complex value(s)
Line 11: Line 10:
 
** Are literal values (e.g. "green") based on a "base" XML Schema type URI (e.g. string)
 
** Are literal values (e.g. "green") based on a "base" XML Schema type URI (e.g. string)
 
** The allowed value(s) are defined by a [[Data Range]] (URI)
 
** The allowed value(s) are defined by a [[Data Range]] (URI)
* Complex values are [[Node]]s
+
* Complex values are [[Entity | Entities]]
 +
* Are identified by an AttributeId.
 +
** In CDM 2.0 this attribute id is a UDI.
 +
** In CDM 1.X it is described it is a string or a UDI.
  
''Implementation note: Complex values are likely stored internally as [[NodeId Data Range]] URIs that are dereferenced to produce [[Node]] instances.''
+
== Relationship to RDF/OWL ==
 +
* The values of an attribute are the union of all objects O found in all RDF {subject, predicate, object} triples {S, P, O} such that S is the id of the Entity (or Context) in question and P is the [[AttributeId]]
  
== Kinds of Attributes Defined in HOWL ==
+
== Kinds of Attributes Defined in CDM ==
* [[NodeId]]
+
* [[Entity Correlation]]  
* [[Node Relation]]
+
* [[Node Correlation]]
+
* [[ContextId]]
+
* [[Context Relation]]
+
 
* [[Context Correlation]]
 
* [[Context Correlation]]
 +
* ...others
  
 
==Examples==
 
==Examples==
  
The physical [[Entity]] Bob Smith might be represented as a [[Node]] in the [[Context]] of his employer, the Port Control Authority. This [[Node]] might have the following types of [[Attribute]]s (and associated values) in this [[Context]]:
+
The 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 [[Attribute]]s (and associated values) in this [[Context]]:
* email-address = bob@portcontrol.gov
+
* email-address = bob@portcontrol.gov <-- in this case the string "email-address" is the [[AttributeId]]
 
* phone number = {617-555-1234, 617-333-4321} <-- multi-valued attribute example
 
* phone number = {617-555-1234, 617-333-4321} <-- multi-valued attribute example
 
* passport information = ...etc.
 
* passport information = ...etc.
Line 32: Line 32:
 
* surname = "Smith"
 
* 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.
+
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 [[Entity]] Bob Smith might also be represented as a [[Node]] in a "customer-to-Clothes-R-Us" [[Context]] (this customer's relationship with the Clothes-R-Us merchant. In this [[Context]] Bob has these [[Attribute]]s:
+
This same Bob Smith might also be represented as an [[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 [[Attribute]]s:
 
* platinumCustomer = True
 
* platinumCustomer = True
 
* preferredColor = "blue"
 
* preferredColor = "blue"
  
== HOWL ==
+
==Note==
<pre>
+
# An [[Attribute]] cannot have N>1 values if 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".
</pre>
+
  
==Open Issues==
 
# At present an [[Attribute]] cannot have N>1 values if the values are the same. For example a very odd father might name each of his three kids "frank". Thus the father [[Node]] 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"
 
  
  
 
+
[[Category:Context Data Model 1.1]]
==See Also==
+
* [[Concepts]]
+
* [[Higgins Global Graph]]
+
 
+
[[Category:Higgins Data Model]]
+

Latest revision as of 19:12, 26 March 2011

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
Higgins logo 76Wx100H.jpg

Version

This page describes the concept of Attribute used in Context Data Model 1.0 and Context Data Model 2.0

Definition

  • Is a property of an Entity (or Context).
  • Has one or more values all of which MUST be unique
  • Has either simple or complex value(s)
  • Simple values:
    • Are literal values (e.g. "green") based on a "base" XML Schema type URI (e.g. string)
    • The allowed value(s) are defined by a Data Range (URI)
  • Complex values are Entities
  • Are identified by an AttributeId.
    • In CDM 2.0 this attribute id is a UDI.
    • In CDM 1.X it is described it is a string or a UDI.

Relationship to RDF/OWL

  • The values of an attribute are the union of all objects O found in all RDF {subject, predicate, object} triples {S, P, O} such that S is the id of the Entity (or Context) in question and P is the AttributeId

Kinds of Attributes Defined in CDM

Examples

The 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 <-- in this case the string "email-address" is the AttributeId
  • phone number = {617-555-1234, 617-333-4321} <-- multi-valued attribute example
  • 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 Bob Smith might also be represented as an 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"

Note

  1. An Attribute cannot have N>1 values if 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".

Back to the top