Tuesday, April 05, 2005

I link therfore I am.

I was asked this question via email but thought I would answer here so that you can correct me.

Aldo Castaneda the watcher and documentor of the developing identity standards wrote:

By the way I read "XDI-Universal-Graph Primer" with interest. One basic question for you:

In the notation that reads -> xri://@ooTao/(+Contact)/email*(=Andy/(+Email)/work)

Does the "*" stand for the Red Dot (Link Node)? And is a Link Node necessarily a delegated authority?
So the easy bit first, yes, the * always denotes a Link Node (which is represented either by the Red Dot or by a Green Line). It is also true to say that a Link is always a delegation of authority for a given section of the graph. But, I am finding that that description falls short of describing the richness of interactions that Links enable. At the different levels of the graph the Link represents a different thing;

At the Authority Level a Link mostly represents 'Membership' @ootao*aldo would indicate that Aldo is a member of the ootao community. @ootao*aldo*andy has Andy as part of Aldo's community in the context of ooTao.

At the Type Level Links represent Complex Types (I am going to write up a doc about XDI Dictionaries that will cover this ground) (+address*(+street)), (+address*(+city)), (+address*(+state)) and so on is a way of indicating that street, city and state are connected to make a larger type; address ( the dictionary definitions should indicate that while there may be 1 or 2 (+address*(+street)), there should only be 1 (+address*(+city)) for a given instance of +address).

At the Instance Level Links seem to be used for unstructured aggregation (aggregation not defined in the Dictionary) for example Link from the (@ootao) instance of (+biz.card) to an instance of (+email), (+phone) and (+title). From the (@natural.logic) instance of (+biz.card) I would link to a different combination of data. By not associating this at the Type level I have no constraints of the data structure.

Across all levels Links may be given synonyms that are $words (system words) these 'Typed Links' tell the XDI Engine to treat the link as special. the most common use of this is the $op* group ($get, $set, ...) that are used to link a contract to the data it permissions AND specifies, via the Link Synonym, what that permission is.

2 comments:

Jaco said...

"i link therefore I am" is a sentence that makes lot of sense, because "linking" is closely related with "projection". one of the 3 components of a Virtual Entity.

The other 2 components of a VE are prescence (persitence) and information (attributes).

Aldo Castaneda said...

Andy,

Regarding:

"'Typed Links' tell the XDI Engine to treat the link as special. the most common use of this is the $op* group ($get, $set, ...) that are used to link a contract to the data it permissions AND specifies, via the Link Synonym, what that permission is."

I'm imaging a scenario where I've slapped a "$op*" to a piece of data that I own in order to allow another party to "$get" it. Now what happens when I would like to allow another person (from another "Authority domain") access to that same data? Does this require that I add another "$op*" link to that data (I'm thinking in terms of Contract Law (formation of a valid contract).

Is there a potential problem if the data to which I allowed "X" access under a condition that "Y" doesn't get access to it? If I can just add another "$op*" how would "X" ever know that I've given "Y" access?

Perhaps this is what you refer to in your presentation as a "collision"?

Thanks as always for any info.