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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

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


Subject: RE: [xdi] Groups - draft-xdi-metaschema-v3.xsd uploaded


Will,

Sorry for the delayed reply but I was on vacation last
week through yesterday, and am still digging out
today. (I suspect much of the rest of the TC has been
quiet over the U.S. holiday this past week too.)

Anyway, your question is a good one, as it’s not
obvious at all from the XDI metaschema how mapping to
local data stores is done. In fact it’s such a good
question that I’ve put it on the agenda to discuss on
the XDI TC call tomorrow.

To provide a framework for that discussion, following
is an overall answer to the question:

In Dataweb architecture terms, the mapping of an
element of data (a resource) from one data store to
another data store is the mapping of two (or more)
XRIs that uniquely identity that item of data as a
resource in two (or more) locations on the network.
With XDI, there are three “levels” at which such
XRI-to-XRI mappings can be made and maintained.
Starting from the most local/specific and going to the
most global/general, these are:

1) SUBSCRIBER-SIDE MAPPING
In this first case, Publisher A assigns XRI A to a
particular item of data with Publisher A's domain of
authority. Subscriber B then subscribes to this item
of data using a link contract with Publisher A.
Subscriber B then uses a second internal link contract
(which does not need to be exposed outside of
Subscriber B's domain if not necessary) to map XRI A
(received from Publisher A) to XRI B assigned by
Subscriber B within Subscriber B's domain of authority
(such as to a local data store). This internal link
contract could also define any necessary
transformations to the data (e.g., XSLT).

2) SHARED XDI SYNONYMS
In the second case, Publisher A and Subscriber B agree
to map XRI A to XRI B in their link contract. This
might make sense for many reasons, esp. if they shared
authority for the data, i.e., either could update or
delete it. In this case, XRI A and XRI B both become
XDI synonyms for the same resource, and either party
can address it by either XRI. XDI synonyms are
expressed just by listing more than one XRI element
for the same Resource element in an XDI document.

3) SHARED XDI Dictionaries (Cross-references)
The third option takes the concept of XDI synonyms to
the logical extreme of using XDI dictionaries to
publish common XRIs that all participating publishers
can use to reference the same logical resource in a
domain-independent fashion, just as natural-language
dictionaries let people and cultures share the same
generic nouns and verbs. This capability is supported
directly at the level of XRI syntax by two key
features of XRIs:

a) Cross-references - the ability to nest XRIs within
XRIs, and
b) The XRI general context symbol "+" which
establishes the generic context of an identifier.

To use the example you gave, if an dictionary service
called "@dict" published the general XRI "+notes" to
represent a text note field, then this logical
datatype would have the XRI "xri:@dict/(+notes)" (the
parens indicate that "+notes" is cross-reference to
the general concept of notes in the context of the
publisher "@dict".) Now, if Publisher A had the XRI
"xri:@publisher.a" and Publisher B the XRI
"xri:@publisher.b", both of them could reference the
same logical notes resource using the XRIs:

	xri:@publisher.a/(@dict/(+notes))
	xri:@publisher.b/(@dict/(+notes))

I'm sure this just leads to more questions, but I hope
it helps outline the overall architectural approach to
accomplishing the mapping. I look forward to drilling
down more on tomorrow's call.

=Drummond


--- Will St Germain IV <willstg@us.ibm.com> wrote:
> Please only answer this question in your spare time,
> as I am just an 
> observer....
> 
> When I look at this schema, it isn't obvious to me
> that the Schema 'maps' 
> one data store to another.  I am missing the basics
> here, and I hope you 
> can help me catch up.  If the example is saying that
> a vendor has a field 
> called "note" that is a string, how does the schema
> show us where this 
> field's data goes in the local database?  Say the
> field "note", we want to 
> put in a local field "comments", how does the schema
> depict that?
> 
> 
> - <element name="note">
> - <simpleType>
>   <restriction base="string" /> 
>   </simpleType>
>   </element>
> 
> 
> Thanks,
> 
> Will St. Germain IV
> willstg@us.ibm.com
> Senior Transition and Information Architect,
> 303-924-1547
> 



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