[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xdi] RE: [External] [xdi] Re: Update on $is and $is!
Thanks for the response Markus, comments inline.
From: xdi@lists.oasis-open.org [xdi@lists.oasis-open.org] on behalf of Markus Sabadello [markus.sabadello@xdi.org]
Sent: Tuesday, November 20, 2012 5:19 PM To: Barnhill, William [USA] Cc: Drummond Reed; OASIS - XDI TC Subject: Re: [xdi] RE: [External] [xdi] Re: Update on $is and $is! Hi Bill,
On Tue, Nov 20, 2012 at 10:49 PM, Barnhill, William [USA]
<barnhill_william@bah.com> wrote:
Today we discussed one simplification, which is to have the ! syntax only on the $get operation (i.e. $get!), but not on the others (i.e. there is no $add!, $mod! and $del!).
I realize this probably doesn't affect your general concerns about this proposal, but still it might be worth mentioning.
*wab: Discussed on what? Wouldn't be the XDI TC call, is this the XDI2 implementers call?
I would say it's symmetric in the sense that both nodes identify the same logical entity.
If A is the same as B, then B is the same as A, that's a fundamental logic principle, i.e. symmetry.
But no it's not symmetric when it comes to the following while applying XDI operations, i.e. just because A is followed to B doesn't mean B is followed to A.
If you had both A/$is/B and B/$is/A, you're creating an infinite loop.
We should probably specify how the server should behave in this case.
I don't think I'm covering that case adequately in my implementation right now, oops.
*wab: This is an indication to me that we do not fully understand the semantics of $is and I think we need to nail that down completely and unambiguously (including
not having it behave differently depending on the reason for traversing the $is link: for id vs. for follow)
See above, the first statement doesn't imply the second, but if you explicitly had them both, I'm not sure what would happen.
$is doesn't only state equality, but also that the target is the canonical identifier.
*wab: See comment at bottom, where this is restated
*wab: Also, when was $is as stating the target is the canonical identifier proposed? This, combined with it being symmetric in some situations but not symmetric in others, sounds like an overly-overloaded predicate.
I just realized this isn't explained in the proposal, so I added this sentence:
"The identifier of the object node MUST be interpreted to be the canonical identifier of the logical entity."
*wab: The canonical identifier must be an i-number, correct? Then you have ruled out a $is relation between two i-names and essentially made $is the $id predicate I proposed last week. This seems good evidence for use of $is and $id instead of just $is,
or just $is and $is! (2nd still does not appeal to me).
Therefore, I'd say a $is loop is invalid, because you can only have one canonical identifier for a logical entity.
*wab: Why? Why can't a logical entity have one canonical identifier per link contract?
Makes sense, but I think for each of those, we should distinguish between logical equality, and the following while applying XDI operations.
*wab: A relation is symmetric, transitive, etc. or it is not. For me, to say that it is symmetric when your using it this way but not symmetric when you're using it that way invites confusion on the part of implementers, and implementation bugs, as well
as making a nightmare for the creation of a conformance test kit.
I'd say:
$is logical equality: reflexive, symmetric, transitive
$is following when applying XDI operations: irreflexive, asymmetric, not transitive, functional
*wab: see previous comment.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]