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