OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: [xri] [Glossary] Definition of "Resource" and "Attribute" (lo ng)


Without directly responding point by point, let me address the tension you
may be feeling by offering an my view to the terms resource and attribute.

Lets say we keep the word resource in the sense that everyone else in the
technical community does (and furthermore, to leverage Bernard's discussion,
assume that TM Subject == Resource for this purpose). 

I would argue, in line with Bernard's points, that "attribute" is a
description that can only be applied in context. A thing is not an attribute
in and of itself. Its only an attribute w/r/t something else. 

OK.

So "attribute" and "resource" are really not two instances of the same
class. Attribute is a relationship type and Resource describes a type of
thing with a particular status of reification (things, which if reified, are
a resource, if not are not Resources). 

Drummond, I think you are saying that you see attributes as things which
can't (or don't make sense to be) be reified independently of a "container"
resource. That just seems to be a different definition of resource than I
have. 

Also, I don't see how attributes come into this at all except to say that
resources should be able to be related to other resources. And its not clear
to me how that impacts addressing (except perhaps in the the concept of
cross referencing or relative addressing/naming).

I would further point out that other folks have addressed this "reified
object" vs. "non-reified object" disctinction (or chosen not use). RDF
allows strings (which are not reified) as objects in
subject-predicate-object relations. Topic Maps allows non-reified properties
to exist in Topics as objects of property relations. Topic Maps also allows
for reified expressions of relationships between resources in the form of
Associations. 

OK, so the point is that, I think, Attribute is an "application" or at least
"assertion-metadata"-level concept. And I didn't think thats what we were
doing. 

In short, I guess I don't understand whats wrong with the definitions we had
coming out of the TC besides that they are technical and precise and thus
somewhat non-intuitive...

	-Gabe

> -----Original Message-----
> From: Drummond Reed [mailto:Drummond.Reed@onename.com]
> Sent: Wednesday, February 26, 2003 11:22 PM
> To: XRI List (E-mail)
> Subject: [xri] [Glossary] Definition of "Resource" and "Attribute"
> (long)
> 
> 
> [Ed. Note: One of the action items coming out of last week's 
> F2F was the
> completion of the XRI TC Glossary. Marc Le Maitre and I were 
> assigned as
> glossary editors. This is the first of several 
> glossary-related threads -
> we'll mark these threads with "[Glossary]" in the subject 
> line for filtering
> purposes.]
> 
> One open issue we did not have time to resolve at the F2F was 
> the definition
> of the term "attribute". After several hours thinking about 
> this since the
> F2F (some of us technical glossary wonks are truly twisted in 
> this respect
> ;-), and after reviewing the URI spec (RFC 2396), I realized 
> the source of
> this problem was the definition we had agreed on for the term 
> "resource".
> This message: a) explains in some depth why I believe we need 
> to clarify
> this definition and b) proposes a new definition for 
> "attribute" consistent
> with this definition of "resource".
> 
> REVISITING OUR DEFINITION OF RESOURCE
> 
> At the F2F, we agreed to adopt the definition of "resource" 
> supplied by the
> URI spec. To wit:
> 
>          "A resource can be anything that has identity.  
> Familiar examples
> include an electronic document, an image, a service (e.g., 
> "today's weather
> report for Los Angeles"), and a collection of other 
> resources.  Not all
> resources are network "retrievable"; e.g., human beings, 
> corporations, and
> bound books in a library can also be considered resources.
> 	The resource is the conceptual mapping to an entity or set of
> entities, not necessarily the entity which corresponds to 
> that mapping at
> any particular instance in time.  Thus, a resource can remain 
> constant even
> when its content---the entities to which it currently 
> corresponds---changes
> over time, provided that the conceptual mapping is not changed in the
> process."
> 
> So at the f2f agreed that a resource was simply "anything that has
> identity". By this definition, data itself could be 
> considered a resource
> because you must be able to identify it or you can't use it.
> 
> By this definition, then, resources are infinitely recursive 
> - a resource
> can contain a resource can contain a resource right down to 
> the smallest
> identifiable unit of data - a single bit.
> 
> If you define a resource this broadly, then what we typically 
> refer to as an
> "attribute" - data whose purpose it is to describe another resource (a
> person's hair color, a rock's weight, a book's page count) - 
> must itself be
> considered a resource.
> 
> If that's the case, we need another term that defines "that 
> kind of resource
> which is not an attribute". In other words, a term for the thing an
> attribute describes - the person, the rock, or the book.
> 
> The classic computer science definition of this entity would 
> be an "object".
> (Immediately I shudder to think of having to include a definition of
> "object" in our glossary.) But this introduces the question, 
> "What is the
> precise difference between an object and an attribute?" For 
> example, an
> object that stands alone in one context (say, a 
> TelephoneNumber object that
> contains the attributes CountryCode, AreaCode, Number, 
> Extension) could be
> an attribute in the context of another object (say, a 
> Telephone). In fact,
> object-oriented methodologies typically classify attributes 
> into two types:
> simple (attributes which do not contain other attributes) and complex
> (attributes which themselves contain attributes). The latter is often
> referred to as a data object. So are all attributes objects? 
> All objects
> attributes?
> 
> This grates against common sense because there is a class of 
> data that is
> clearly the "endpoint" or "primitive" describing other 
> objects - data values
> such as a person's hair color, a rock's weight, a book's page 
> count. This
> class of data is widely referred to as an "attribute". At the 
> same time
> there is another class of data (or data containers) that are 
> the "entity
> described by one or more attributes" - people, rocks, books. These are
> widely referred to as "objects". And while an object can be a complex
> attribute, it cannot be a simple attribute.
> 
> This all boils down to 3 levels (if this is starting to sound like
> metaphysics, it's real close): 
> 
> #1) Objects that exist independently of any other object, in a global
> context (call them independent objects).
> 
> #2) Objects that describe other objects, in a specific 
> context (call them
> complex attributes), and
> 
> #3) Pure attributes which only describe an object in a single 
> context (call
> them simple attributes).
> 
> Now the question is: are all three resources? With our 
> original definition
> of a resource as "anything that has identity", the answer 
> might be yes. But
> the more intuitive answer seems to be that "resource" only 
> includes #1 -
> objects that exist independently of any other object.
> 
> Why? My first argument would be that #2 and #3 don't actually fit the
> defintion of "anything that has identity" because an 
> attribute - either
> complex or simple - exists *only in the context of the object 
> it describes*.
> Therefore it doesn't have it's own "identity". It exists only 
> as part of the
> identity of the object it describes.
> 
> Take, for example, a rock that weighs 3 pounds. This rock has 
> identity, if
> nothing other than the fact that it is the rock that weighs 3 
> pounds (out of
> a pile of two rocks that weigh 3 and 5 pounds, respectively). 
> But can you
> say that "3 pounds" all by itself has identity? The NUMBERS 
> and WORDS have
> identity, but the actual value "3 pounds" is not ABOUT 
> anything unless it is
> put in the context of the rock it describes.
> 
> If you follow this to the logical extreme, it overturns our original
> assumption that all data has identity. Rather only one class 
> of data - that
> which comprises an independent object - has identity. The 
> other class of
> data that only describes an object (an attribute, either 
> complex or simple)
> - does not have identity, because you literally can't 
> "identify" it outside
> of the context of the object it describes.
> 
> The only wrinkle in this definition is the middle case - 
> level #2 - where an
> object like a phone number exists as a complex attribute in 
> the context of a
> specific resource like a telephone but may also exist 
> independently in a
> global context and therefore be also considered a resource. 
> In this case the
> same object may, in one context, be an attribute, and in 
> another context, a
> resource. But that's okay, because our definition of resource 
> would still
> only cover the case where it was an object that exists 
> independently of any
> other object, and our definition of attribute would cover the 
> case in which
> it was relative to another resource.
> 
> Speaking of the term "relative", this analysis matches that 
> of the URI spec
> itself. Following is the definition of "fragment" in the spec:
> 
> "4.1. Fragment Identifier
> 
> 	"When a URI reference is used to perform a retrieval 
> action on the
> identified resource, the optional fragment identifier, 
> separated from the
> URI by a crosshatch ("#") character, consists of additional reference
> information to be interpreted by the user agent after the 
> retrieval action
> has been successfully completed.  As such, it is not part of 
> a URI, but is
> often used in conjunction with a URI.
> 	"The semantics of a fragment identifier is a property 
> of the data
> resulting from a retrieval action, regardless of the type of 
> URI used in the
> reference..."
> 
> By this it is clear that Berners-Lee et al meant that a "resource"
> optionally contained additional data that was *not part of 
> the URI*, i.e.,
> was not the resource itself, but could be identified only in 
> the context of
> that resource. This makes sense because a fragment identifier, such as
> "#Chapter-3", cannot be resolved outside of the context of the current
> resource. To be literal, "#Chapter-3" is an identifier, but 
> only a relative
> identifier for an attribute that does not "have identity" by itself.
> 
> PROPOSED NEW DEFINITIONS OF RESOURCE AND ATTRIBUTE
> 
> As a result of this highly pedantic analysis (did I mention 
> that precisely 7
> angels can dance on the head of a pin?), following is the recommended
> refinement of our definition of "resource" and the 
> corresponding defnition
> of "attribute":
> 
> RESOURCE: As defined in RFC 2396 (URIs): "anything that has 
> identity". To be
> specific, a resource is anything that can be identified 
> independently of
> another resource, i.e., in a global context, vs. only in the 
> context of a
> specific resource. For example, a car is a resource because 
> it has identity
> that exists independent of any other resource. However the 
> color of a car is
> not a resource because it cannot exist independently of the 
> car itself.
> Similarly, a document is a resource but "paragraph 3" of the 
> document is not
> a resource because it cannot exist independently of the 
> document. Both the
> color of a car and paragraph 3 of a document are attributes 
> of a resource.
> See ATTRIBUTE. [Continue with the rest of the current definition of
> resource, which explains the 3 key types of resources from 
> the standpoint of
> identifiers: non-network resources, network resources, and resource
> representations.]
> 
> ATTRIBUTE: Data associated with a resource that can be 
> identified only in
> the context of that resource. For example, "the color of my car" is an
> attribute of the resource "car". "Paragraph 3 of Moby Dick" 
> is an attribute
> of the resource "Moby Dick". Note that the *concepts* of "color" or
> "Paragraph 3" are themselves resources, because the 
> definitions of these
> concepts exist in a global context. However instances of 
> those concepts must
> describe a specific resource, and thus can only be an attribute. 
> 
> Note that an attribute may contain other attributes. This is called a
> complex attribute, vs. one that doesn't contain other 
> attributes, which is
> called a simple attribute. For example, the resource 
> "Telephone" may have
> the complex attribute "Phone Number" which in turn contains the simple
> attribute "Area Code". An attribute in a specific context may 
> also be a
> resource in a global context. For example, "Phone Number" is a complex
> attribute of the resource "Telephone" but it may also be a 
> resource that
> exists independently of that telephone (for example, it may 
> be reassigned to
> a different telephone).
> 
> *****
> 
> As a final note, the reason for the length of this message is that the
> fundamental difference between a resource and an attribute is 
> reflected
> directly in several of our core requirements, and I expect 
> ultimately in our
> syntax. So in the long run I believe a precise definition 
> will save us lots
> of time. As a friend of mine is found of quoting Alfred North 
> Whitehead,
> "How many arguments could have been avoided if only the 
> participants had
> bothered to define their terms."
> 
> Feeback gladly solicited.
> 
> =Drummond  
> 
> 
> 
>       
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC