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
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?
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:
- 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:
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