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

From
Barnhill, William [USA] <>
Date
2008-02-22T21:32:35+00:00
ID
Thread
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