[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xri] Questions regarding XRI Resoution as client of 2.1 abstract syntax
Steve, Chalk this one up to a simple misunderstanding. When I said "a GCS symbol by itself is persistent", I meant just that -- *by itself*. I didn't mean to imply that a GCS character followed by a typeless-literal. It other words, + by itself is persistent, but +west is not persistent. Only +!west is persistent. More examples: @ persistent - GCS character alone @ootao not persistent -- GCS char + reassignable typeless-literal @!1000 persistent - GCS char + persistent local-literal + persistent - GCS character alone +west not persistent -- GCS char + reassignable typeless-literal +!5555 persistent - GCS char + persistent local-literal So the only way to get a fully persistent complex XRI is to use all persistent subsegments. For example, the only persistent XRI using all the authorities above is @!1000+!5555. Hope this helps, =Drummond -----Original Message----- From: Steven Churchill [mailto:steven.churchill@xdi.org] Sent: Monday, April 30, 2007 4:56 PM To: 'Drummond Reed'; xri@lists.oasis-open.org Subject: RE: [xri] Questions regarding XRI Resoution as client of 2.1 abstract syntax Drummond, <A while back, I asked> ------- 4. Are six of the subsegment types reassignable and only one (bang) persistent (as per the definition above)? ------- <You answered> [=Drummond] No. A GCS character by itself is persistent. Then each subseg inside a global-xref is persistent or not depending on whether it begins with a bang. So a global-xref is persistent if and only if each of its subsegs is persistent. Examples: XRIS WITH PERSISTENT GLOBAL XREFS In #1 and #2, the global-xref beginning with = is persistent. In #3 and #4, the entire XRI is persistent. #1: @example=!1234.5678.a1b2.c3d4 #2: @example=!1234.5678.a1b2.c3d4!55 #3: @!1000.2000.3000.4000=!1234.5678.a1b2.c3d4 #4: @!1000.2000.3000.4000=!1234.5678.a1b2.c3d4!55 <My Response> I don't think that it can work that way. Let me restate my understanding of persistence: The notion of persistence is simply a convention for authority resolution services (their registries) as follows: If I (a legal entity) pay my registry for a persistent identifier, then my registry should not reassign that identifier to someone else (unless I explicitly transfer it), even if I stop paying my bill. If this is a correct understanding of persistence, then you are saying that the convention should apply to "+west" in "@ootao+west" -- in other words, you are saying that the "@ootao" registry should not to reassign "+west" to another legal entity. So then, @ootao*west *west is reassignable @ootao*(+west) *(+west) is reassignable @ootao!west !west is persistent @ootao!(+west) !(+west) is persistent @ootao+west +west is persistent. It makes sense to me that if someone specifies "!west" or "!(+west)" that their intention is to purchase a persistent identifier. It makes no sense to me that "+west" has the same intent. If this is the case, I suggest we flush the notion of persistent identifiers altogether. I think it ceases to be useful. Your thoughts? ~ Steve -----Original Message----- From: Drummond Reed [mailto:drummond.reed@cordance.net] Sent: Monday, April 23, 2007 12:43 PM To: 'Steven Churchill'; xri@lists.oasis-open.org Subject: RE: [xri] Questions regarding XRI Resoution as client of 2.1 abstract syntax Steve, good questions, especially about the persistent of global-xrefs. See [=Drummond] inline. -----Original Message----- From: Steven Churchill [mailto:steven.churchill@xdi.org] Sent: Sunday, April 22, 2007 8:59 PM To: xri@lists.oasis-open.org Subject: [xri] Questions regarding XRI Resoution as client of 2.1 abstract syntax Drummond, I have some questions regarding the proposed 2.1 abstract syntax and XRI Resolution as client. For the benefit of those on the list who haven't been steeped in XRI Resolution, let me give some context. [Drummond, my questions are below.] The resolver invokes the XRI parser which returns a syntax tree conforming to the abstract syntax. During the "authority resolution" phase, the resolver walks through the top-level subsegments of this tree passing the name of the "next" subsegment to the authority resolution service of the "previous" subsegment, until it gets to then end. In the 2.0 abstract syntax, the subsegments had two types--persistent and reassignable. The notion of persistence is simply a convention for authority resolution services (their registries) as follows: If I pay my registry for a "bang" (persistent) identifier, then my registry should not reassign that identifier to someone else, even if I stop paying my bill. In the proposed 2.1 abstract syntax, the subsegments have seven types. Here are my questions for Drummond: 1. Does the resolver still walk through the top-level subsegments (that is, passing the name of the "next" subsegment to the authority resolution service of the "previous" subsegment) as described above? [I would assume the answer is yes.] [=Drummond] Yes -- but note that global-xrefs are a type of subsegment per your question 3 below. 2. Can authority resolution services now accept 7 types of query? [I would assume the answer is yes.] [=Drummond] Yes. 3. Does the resolver algorithm distinguish between "global" and "local" subsegments. [I would assume the answer is no. The resolver simply walks down the list of top-level subsegment invoking the authority resolution services.] [=Drummond] Yes, the resolver just walks down the list of "top-level" subsegs, but the resolver algorithm DOES distinguish between global-xref and local-xref as shown in the ABNF. A global-xref is the GCS character plus zero or one typeless subseg plus zero or more local subsegs. 4. Are six of the subsegment types reassignable and only one (bang) persistent (as per the definition above)? [=Drummond] No. A GCS character by itself is persistent. Then each subseg inside a global-xref is persistent or not depending on whether it begins with a bang. So a global-xref is persistent if and only if each of its subsegs is persistent. Examples: XRIS WITH PERSISTENT GLOBAL XREFS In #1 and #2, the global-xref beginning with = is persistent. In #3 and #4, the entire XRI is persistent. #1: @example=!1234.5678.a1b2.c3d4 #2: @example=!1234.5678.a1b2.c3d4!55 #3: @!1000.2000.3000.4000=!1234.5678.a1b2.c3d4 #4: @!1000.2000.3000.4000=!1234.5678.a1b2.c3d4!55 NON-PERSISTENT GLOBAL XREFS In all four examples below, the global-xref beginning with = is not persistent, because it does not consist of all persistent subsegments. #5: @example=example.2 #6: @example=!1234.5678.a1b2.c3d4*some.subseg #7: @!1000.2000.3000.4000=example2!55 #8: @!1000.2000.3000.4000=!1234.5678.a1b2.c3d4*some.subseg 5. If the answer to 3 above is "no", then why does the parser care about sticky stars? [=Drummond] See my answer to 3 above.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]