RE: [xdi] Groups - Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded

From
Steven Churchill <>
Date
2008-02-23T01:24:51+00:00
ID
035201c875b1$382acf50$6902a8c0@sanfrancisco
Thread
RE: [xdi] Groups - Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded
Bill,

 

I gave my comment because there was a
statement that the identifier =markus$v!1 would be inappropriate to identify an element in a “mutable”
collection.

 

My point is that the notion of
non-reassignability (persistence) here only applies to the last two subsegments
– in this case that “$v“ namespace would not likely reassign
the identifier “!1“ to something like “the concept of the
real number pi”. Since the notion of persistence in “$v!1“ only applies to a convention in namespace “$v“ for
it’s local child identifier “!1“, then the notion of
persistence in “$v!1“ has no relevance as
to whether =markus$v!1 is assigned to items in “mutable”
or “non-mutable” collections. There is just no relationship between
these concepts.

 

~ Steve

 

 

From: Barnhill,
William [USA] [mailto:] 

Sent: Friday, February 22, 2008
1:32 PM

To: Steven Churchill; Markus
Sabadello

Cc:
; 

Subject: RE: [xdi] Groups -
Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded

 

 

Steve,

 

I apologize but do not have your
background in graph theory. How does " 

 

In summary, the convention that
“$” is not going to reassign the local identifier “1”
to “the concept of the real number pi” has nothing to do with
assigning markus assigning the identifier =markus$v!1 to a mutable collection.

 

" apply?

 

I think you're suggesting our examples
should be in the vein of =markus$v$1, is that correct?

 

Bill

 

 

From: Steven
Churchill [mailto:] 

Sent: Friday, February 22, 2008
4:05 PM

To: 'Markus Sabadello'; Barnhill,
William [USA]

Cc:
; 

Subject: RE: [xdi] Groups -
Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded

Reassignability is a convention that
applies only at the XRI namespace level.

 

For example, an XRI namespace registry
might do this:

 
Mint
     a new XRI authority (record) for a paying customer. 

 
Assign
     it a local (bang) inumber to be returned as the final subsegment of
     it’s CID. 

 

If the given XRI namespace registry is
well-behaved, then it will follow the convention that it will not re-use the
authority with the local inumber for another customer. (It won’t
re-assign it to another customer.)

 

So, in this case, this notion of
“not re-assigning” is a convention to be followed by well-behaved
XRI namespace registries.

 

--- 

So what about the name space
“$” and the child “1”. It would probably be a good
convention that if “$” assigned the child authority named
“1” to the concept of the integer
value 1 then it shouldn’t at some later date assign  the
local identifier to some other concept (like the real number pi, for example.)

 

---

 

In summary, the convention that
“$” is not going to reassign the local identifier “1”
to “the concept of the real number pi” has nothing to do with
assigning markus assigning the identifier =markus$v!1 to a mutable collection.

 

~ Steve

 

 

 

From:
 [mailto:] On Behalf Of Markus Sabadello

Sent: Friday, February 22, 2008
8:11 AM

To: Barnhill, William [USA]

Cc:
; 

Subject: Re: [xdi] Groups -
Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded

 

Hmm yes right, ! is
persistent, so it doesn't work for mutable collections, I didn't think about
that. If I have 5 e-mail addresses, one of them may get deleted. But in
versioning persistence is what you want (version 2 will never change or go
away..). So maybe the solution is to support both ! and *.

Versioning example (persistent):

=markus/$has!5/$v   <-- in the metagraph model, $has is for
composite subjects, right? -->

=markus$v!1

  ...

=markus$v!2

  ..

=markus$v!3

  ..

Multiple e-mails example (reassignable):

=markus/$has$a*5/+email  <-- in the metagraph model, $has$a is for
predicates, right? -->

    +email*1

        ..

    +email*2

        ..

    +email*3

        ..

Anyway, just a thought. It would be great if somehow the same mechanism could
be used for "I have 5 versions" and "I have 5 e-mail
addresses".

How would the +yesterday construct work? Would the endpoint look at timestamps
on the individual version snapshots and find out which one to return?

Markus

On Fri, Feb 22, 2008 at 10:04 AM, Barnhill, William [USA] <>
wrote:

 

Hi guys,

You both have some very good and interesting points. Just saw this though and
wanted to send off a thought: while ! syntax is easier to understand and read
imho, it also might lead to a problem. If you are using it to things in a
modifiable collection your collection order could change, or you could insert
someplace other than the tail of the collection. This would mean you would need
to reassign your ! identifiers, but are they reassignable? $n would get around
that and lower the verbosity closer to ! level.

For versioning, I like best the following:

=drummond/$has/$v   (this says that =drummond is versioned)

=drummond/$v/5   (this says the current version is 5)

(=drummond/$v/5)/$is/!4

I think $v should by default be a # in the dictionary. If you want to access
yesterday's last version you can do

=drummond/$v+yesterday

which accesses statements of the form

=drummond/$v+yesterday/5

(=drummond/$v/5)/$is/!4

What do you think?,

Bill

-----Original Message-----

From: 
on behalf of Markus Sabadello

Sent: Thu 2/21/2008 10:45 PM

To: 

Cc: 

Subject: Re: [xdi] Groups - Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf)
uploaded

Heya Giovanni,

Since I already tried to implement the versioning described in the XDI RDF
Model v8 doc, it's interesting for me to read your comments about this..

- Regarding the use of $num instead of ! to index things, I think it's mostly a
matter of taste. Both would work fine I think. One thought I am having is that
subsegments like !1, !2, !3 do exist in XRI resolution too. I.e. there are some
authority resolution servers that use these number-like subsegments (and not ip
address-like subsegments like !203.173.1276.1663)..

- Regarding the number of versions, can I ask you something?

Maybe you can take a quick look at this URL: http://graceland.parityinc.net/xdi-endpoint/hibernate-graph-ver/=drummond

As you can see there are the following two statements:

=drummond/$has/$v   (this says that =drummond is versioned)

=drummond/$v/!5   (this says the current version is 5)

I'd like to understand how you would do it instead.

Would you say this?

=drummond/$has$num$5/$v

Or this?

=drummond/$has$5/$v

Just trying to understand it correctly.. I like the idea very much, it makes
versioning a bit simpler and more consistent with other constructs..

Note to Drummond: We were talking about how to express multiple values of an
attribute (e.g. =markus has multiple +email addresses). After reading
Giovanni's comments, it appears to me that versioning may just be another
instance of that same problem. I.e. there's no difference between saying
=markus has 5 +email addresses, and saying that =drummond has 5 $v ersions. I
agree with Giovanni that the same construct should be used in both cases.

- I don't understand why I would use the comparison operators like $greater in
versioning.. What would be a practical use case for this? But in general I
think these operators can be very useful..

Markus

On 14 Feb 2008 13:53:29 -0000, <>
wrote:

The document named Comments about  XDI versioning

(Draft-Contrib-OASIS-XDI-versioning.pdf) has been submitted by Giovanni

Bartolomeo to the OASIS XRI Data Interchange (XDI) TC document repository.

Document Description:

A first draft of comments on XDI versioning syntax

View Document Details:

http://www.oasis-open.org/apps/org/workgroup/xdi/document.php?document_id=27179

Download Document:

http://www.oasis-open.org/apps/org/workgroup/xdi/download.php/27179/Draft-Contrib-OASIS-XDI-versioning.pdf

PLEASE NOTE:  If the above links do not work for you, your email
application

may be breaking the link into two pieces.  You may be able to copy and
paste

the entire link address into the address field of your web browser.

-OASIS Open Administration