[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]