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 - Comments about XDI versioning (Draft-Contrib-OASIS-XDI-versioning.pdf) uploaded


Hello,

sorry I've been out for a while. Trying to summarize my understanding of this interesting discussion..

> It would be great if somehow the same mechanism could be used for "I have 5 versions" and "I have 5 e-mail addresses".

I agree with this point, we should address both use cases in a similar fashion.

>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

My proposal is that $has could be used to specify cardinality, so I would do like this:
=drummond/$has$5/$v

(applied to versioning as well as other composition/aggregation relationships -btw here I think we've to discuss an issue: do we want to model cardinality for composition and aggragation as well, e.g. $has$2 -> composition and $has$a$2 -> aggregation, sounds a bit ugly!)

>=drummond/$has/$v   (this says that =drummond is versioned)
>=drummond/$v/5   (this says the current version is 5)
>(=drummond/$v/5)/$is/!4

My idea is close to this one, except for the fact that I would use $5 instead of 5 (is 5 a literal ("5")? in this case it should be intended as parsed to an integer number, e.g. it would be an error a statement like =drummond/$v/"5hg2" because "5hg2" could not be parsed to an integer). Apart from this point, if I've understood this correct, what I like most is that this way we decouple document version (an index) from the place the document is stored; example in java

Version vArr=Version[10];
System.out.println("v[2] memory address:  "+vArr[2]);

v[2] memory address:  test.Person@4g7a2

here, @4g7a2 is a memory address similar to !4, whereas v[2] is an element indexed by an integer number, like =drummond/$v/$5. This is one of the reasons I would not use !5 and I prefer $5 instead.

BTW here it is not clear to me whether I've to use =drummond/$v/$5 or =drummond$v$5, so far I've understood that the first one asserts that the current version is version five, the second returns an xdi document corresponding to that version, right?

>- I don't understand why I would use the comparison operators like $greater in versioning..

I think this could be useful in a query, like the following:

=Drummond$v/$greater/$4

could return a composite document containing a list of =Drummond versions starting from version five.

What do you think?

Bests,
Giovanni


At 01.15 23/02/2008, Steven Churchill wrote:
 
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:barnhill_william@bah.com]
Sent: Friday, February 22, 2008 1:32 PM
To: Steven Churchill; Markus Sabadello
Cc: giovanni.bartolomeo@uniroma2.it; xdi@lists.oasis-open.org
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:steven.churchill@xdi.org]
Sent: Friday, February 22, 2008 4:05 PM
To: 'Markus Sabadello'; Barnhill, William [USA]
Cc: giovanni.bartolomeo@uniroma2.it; xdi@lists.oasis-open.org
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:
  1. Mint a new XRI authority (record) for a paying customer.
  2. 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: markus.sabadello@gmail.com [ mailto:markus.sabadello@gmail.com] On Behalf Of Markus Sabadello
Sent: Friday, February 22, 2008 8:11 AM
To: Barnhill, William [USA]
Cc: giovanni.bartolomeo@uniroma2.it; xdi@lists.oasis-open.org
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] <barnhill_william@bah.com > 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: markus.sabadello@gmail.com on behalf of Markus Sabadello
Sent: Thu 2/21/2008 10:45 PM
To: giovanni.bartolomeo@uniroma2.it
Cc: xdi@lists.oasis-open.org
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, < giovanni.bartolomeo@uniroma2.it> 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


 
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.20.7/1286 - Release Date: 18/02/2008 18.49



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