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] Definition of $has metagraph predicate


Whoops, scratch musing on additional grouping operator.  Just realized, grouping makes no sense for resolution as resolution is hierarchical from authority 'downward'.

Also what do we mean by A(B) <=> A/$has/(B)? To me this means that the graph under node A has at least one statement for which the predicate is the statement B. Seems very few use cases but did come up with one:
   +claim/(=Bill.Barnhill/+member/@oasis)/$true

Kind regards,

Bill Barnhill
Booz Allen Hamilton - Rome, NY
315-330-7386  | william.barnhill.ctr@rl.af.mil | barnhill_william@bah.com
________________________________________
From: Barnhill, William [USA] [barnhill_william@bah.com]
Sent: Thursday, January 14, 2010 10:27 AM
To: Giovanni Bartolomeo
Cc: Drummond Reed; OASIS - XDI TC
Subject: RE: [xdi] Definition of $has metagraph predicate

Thanks Giovanni. Need to think more to come up with a good precise def., but off the cuff some thoughts:

Associativity is defined in terms of equivalence. Since we have two type of equivalence (logical and resolution) we have two type of associativity.
If  we denote two functions:
  R: XRI -> boolean -- true iff XRI is resolvable (prob have 2nd version with graph param, ?), false otherwise
  D: XRI -> Document | AuthResult | ErrorResult -- Resolves XRI to addressed resource, or requests auth, or errs

If we also denote a <=> b as meaning the XRI a is logically equivalent to the XRI b, and a = b to mean a is an alias of b.

We still have the question of whether () defines xref AND grouping, or just xref and we're creating a new grouping operator that denotes resolution precedence.

If grouping and xref then saying XRI's are logically left-associative means that for all XRIs a,b,c,d the following hold true:
   abc <=> (ab)c
   dabc <=> ((da)b)c

and for right-associative:
   abc <=> a(bc)
   dabc <=> d(a(bc))
   etc.

Note that right-associative or left-associative is not considered associative, that's considered the union of the two:
   abc <=> a(bc) <=> (ab)c
   dabc <=> d(a(bc)) <=> ((da)b)c
   etc.

We also have two operators, delegation: AB aka A*B, and hierarchy A/B so I think we might need to determine associativity for each but since AB <=> A/$has/B if we determine the associativity of the hierarchy operator the associativity of the delegation operator should follow from that, I think.

A fair amount of paraphrasing from wikipedia page on associativity above also, to give attribution where due.

Don't know yet which of the above work out, haven't had time to work it out yet.  Still am on the fence about needing a new operator or not to distinguish grouping from xref. The only ones that make sense to me are bracketing ones [], {}, (). Of those () is firmly entrenched with xrefs and {} is used for templates so [] would seem to be the choice for a grouping operator.  Such a thing is big and requires support from the XRI TC. Since it's an XDI specific use case I think it would be a tough sell, but if all of us who are members on the XRI TC support it and we can demonstrate broader usefulness, then it might be possible, maybe.  Whether it's needed or advisable is another question.


Kind regards,

Bill Barnhill
Booz Allen Hamilton - Rome, NY
315-330-7386  | william.barnhill.ctr@rl.af.mil | barnhill_william@bah.com
________________________________________
From: Giovanni Bartolomeo [giovanni.bartolomeo@uniroma2.it]
Sent: Thursday, January 14, 2010 9:44 AM
To: Barnhill, William [USA]
Cc: Drummond Reed; OASIS - XDI TC
Subject: RE: [xdi] Definition of $has metagraph predicate

+1 for Bill.

Btw, what do you mean Bill for "logical associativity" and "resolution
associativity" (I might guess it, but I'd like to have a precise
definition and discuss how they are related each others)?

Kind Regards,
Giovanni

Def. Quota "Barnhill, William [USA]" <barnhill_william@bah.com>:

> I think I may see the root of the problem. Drummond you say in the
> last email:
> "First, let's tackle the question of equivalence of  +a and (+a). On
> last week's telecon, Bill said that (+a) infers +a. While I agree
> that (+a) infers that +a exists, I was adamant that +a and (+a)
> could not identify the same node in an XDI RDF graph or the logic of
> XDI will be destroyed."
>
> I agree and think that different meanings of equivalence are causing
> an issue.
>
> From my standpoint an XRI has two value in relation to a graph:
> (a) it exists in the graph, i.e. it is resolvable
> (b) it provides an address to a resolvable document, which may be an
> XDI graph
>
> Applying this to the semantics of XDI, an XRI assertion is true if
> it is present in the graph, i.e. if (a) is true. The semantic
> reasoning does not concern itself with the document an XRI
> addresses, except when it is another XDI graph.  In that special
> case the XRIs in the document are a sub-graph that is part of the
> larger graph,so we're still really only concerned with a.
>
> So two XRIs are logically equivalent if and only if they are both
> resolvable (logical true) or neither are resolvable (logical false).
>
> Two XRI's are aliases (what I've previously been calling equivalent
> (note NOT logically equivalent)) if and only if they are logically
> equivalent AND resolve to the same document.  Another way of saying
> aliases might be resolution equivalent.
>
> Given the above (+A/+B) and +A/+B are logically equivalent, but are
> not aliases.
>
> Does everyone agree?
>
> Still doesn't solve the associativity issue, in fact it expands it
> to logical associativity and resolution associativity.
>
>
> Kind regards,
>
> Bill Barnhill
> Booz Allen Hamilton - Rome, NY
> 315-330-7386  |
> william.barnhill.ctr@rl.af.mil<mailto:william.barnhill.ctr@rl.af.mil> |
> barnhill_william@bah.com<mailto:barnhill_william@bah.com>
>
> ________________________________
> From: drummond.reed@gmail.com [drummond.reed@gmail.com] On Behalf Of
> Drummond Reed [drummond.reed@xdi.org]
> Sent: Thursday, January 14, 2010 5:15 AM
> To: Barnhill, William [USA]
> Cc: OASIS - XDI TC
> Subject: Re: [xdi] Definition of $has metagraph predicate
>
> Bill,
>
> You are correct that the problem you describe stems from the
> assumption you make that a $has statement implies a min cardinality
> of 1. This is contrary to the conclusion that we reached as a TC
> last spring, and which was documented in the wiki spec
> (http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel#A.24hasand.24is.24has):
>
> ******* BEGIN EXCERPT ********
>
> [TODO: add explanation that $has statements do not and cannot infer
> cardinality.]
>
> ******* END EXCERPT ********
>
> In this message, I will: 1) explain what I believe the source of the
> problem is, and 2) show why it is logically disastrous for XDI to
> say that either (+x/+y) is equivalent to +x/+y (or for that matter
> to say that +a and (+a) are equivalent).
>
> PART ONE: WHAT I BELIEVE THE SOURCE OF THE PROBLEM IS
>
> I believe the source of the problem is the interpretation of what is
> currently the following text from our wiki draft spec:
>
> ******* BEGIN EXCERPT ********
>
> The $has metagraph predicate describes the relationship between a
> node and an outgoing arc in the XDI RDF graph. The subject of a $has
> statement is the XRI of the node from which the arc originates, and
> the object is the XRI of the arc.
>
> ******* END EXCERPT ********
>
> Reading this sentence, I completely understand how TC members are
> coming away with the understanding, "$has statements are saying
> there is an RDF arc on an RDF node". While this is in fact true, the
> problem is that this is not the complete semantics of a $has
> statement. The complete semantics are that a $has statement is
> identifying a relationship. In doing so, the $has statement is
> creating a new node in the XDI RDF graph. That node is an XDI
> context (an identifiable XDI RDF graph). That XDI RDF graph consists
> of a single XDI RDF subject node (the subject of the $has statement)
> with a single XDI RDF outgoing arc (the object of the $has statement).
>
> What this means – and this is the reason the parentheses are so
> important – is that what is identified by the $has statement is not
> the XDI RDF subject node inside the graph, nor the XDI RDF arc
> inside the graph, but the XDI RDF context containing the graph.
>
> That XDI RDF context by itself is another XDI RDF node. Just a node.
> The $has statement that identifies this node does not assert any
> arcs (either outgoing or incoming) on this new XDI RDF node. It only
> asserts that what defines this node is that: a) it is an XDI RDF
> context, and b) this XDI RDF context that contains a graph
> consisting of one node and one outgoing arc.
>
> Since this can be difficult to visualize, I have added a new
> Appendix B to version 3 of the XDI RDF Cell Graphs PDF that I just
> uploaded tonight. The link is:
>
> http://www.oasis-open.org/committees/download.php/35926/xdi-rdf-cell-graphs-v3.pdf
>
> I'd like to go over Appendix B on tomorrow's call because I believe
> it can settle this question about the definition of $has once and
> for all.
>
> PART TWO: WHY (+X/+Y) AND +X/+Y CANNOT BE EQUIVALENT
>
> First, let's tackle the question of equivalence of  +a and (+a). On
> last week's telecon, Bill said that (+a) infers +a. While I agree
> that (+a) infers that +a exists, I was adamant that +a and (+a)
> could not identify the same node in an XDI RDF graph or the logic of
> XDI will be destroyed.
>
> The reason is that +a identifies a specific node withing an XDI RDF
> graph, while (+a) identifies THE GRAPH CONTAINING THE NODE +a, which
> we call its XDI context. I think we can all agree that the node and
> the graph containing the node cannot be the same thing, or else the
> entire concept of XDI contexts collapses.
>
> The same is true of any form of reification in XDI RDF. Let's take
> the example of (+x/+y) and +x/+y. If they are equivalent – if they
> identify the same XDI RDF graph node, then they can be substituted
> for each other in XDI RDF statements. That would mean that the
> following two XDI statements would both be valid:
>
>             (+x/+y)/+z/+k
>             +x/+y/+z/+k
>
> But the second statement is not valid XDI RDF. What makes the first
> statement valid XDI RDF is that the parentheses identify a single
> XDI RDF node – the graph CONTAINING the graph +x/+y – as the subject
> of the statement that has the predicate +z and the object +k. As
> soon as you take away those parentheses, to get the XDI RDF
> statement +x/+y, you no longer are identifying an XDI RDF subject.
> Rather you have an XDI RDF subject and an XDI RDF predicate, which
> means you can only add an XDI RDF object.
>
> This is why the parentheses, representing reification, are so
> critical to XDI semantics. Just as an RDF statement and the
> reification of that RDF statement are not the same thing in RDF, an
> XDI RDF statement and the reification of that statement (enclosing
> it in parentheses) are not the same thing in XDI RDF.
>
> Again, I believe the new Appendix B in the XDI RDF Cell Graphs
> document will help illustrate this. I look forward to discussing it
> on the call tomorrow (agenda going out now).
>
> =Drummond
>
>
> On Wed, Jan 13, 2010 at 6:01 AM, Barnhill, William [USA]
> <barnhill_william@bah.com<mailto:barnhill_william@bah.com>> wrote:
> Coments inline, look for =Bill.Barnhill+comment and =Bill.Barnhill+endcomment
> Kind regards,
>
> Bill Barnhill
> Booz Allen Hamilton - Rome, NY
> 315-330-7386  |
> william.barnhill.ctr@rl.af.mil<mailto:william.barnhill.ctr@rl.af.mil> |
> barnhill_william@bah.com<mailto:barnhill_william@bah.com>
>
> ________________________________
> From: drummond.reed@gmail.com<mailto:drummond.reed@gmail.com>
> [drummond.reed@gmail.com<mailto:drummond.reed@gmail.com>] On Behalf
> Of Drummond Reed [drummond.reed@xdi.org<mailto:drummond.reed@xdi.org>]
> Sent: Wednesday, January 13, 2010 4:43 AM
> To: OASIS - XDI TC
> Subject: [xdi] Definition of $has metagraph predicate
>
>
> Giovanni's message raised the question of whether there is consensus
> on the TC about the definition of $has semantics that we reached
> last spring and documented on May 15 2009 the wiki spec
> (http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel).
>
>
>
> =Bill.Barnhill+comment
>
>
>
> Based on the email threads I think we cannot have consensus yet.
>
>
>
> =Bill.Barnhill+endcomment
>
>
>
> In that definition, we say (emphasis in red added):
>
>
>
> ********** EXCERPT ***********
>
> The $has metagraph predicate describes the relationship between a
> node and an outgoing arc in the XDI RDF graph. The subject of a $has
> statement is the XRI of the node from which the arc originates, and
> the object is the XRI of the arc.
>
> The inverse predicate, $is$has, describes the same relationship,
> however the subject and object are reversed, i.e., the object is the
> XRI of the node from which the arc originates, and the subject is
> the XRI of the arc.
>
> When used alone as a metagraph predicate, $has is an assertion that
> reifies this subject/predicate relationship so that this reification
> can serve as a new XDI RDF subject node. The XDI address of this new
> subject node is a direct concatenation of the XRI for the subject of
> the $has statement and the XRI for the object of the $has statement.
> For example:
>
>         +x/$has/+y     ==>     (+x/+y)     ==>     +x+y
>
>
>
> *********** END EXCERPT ************
>
>
>
> =Bill.Barnhill+comment
>
>
>
> I believe we may reached consense on the above.  I think it would be
> helpful to hash out a list of axioms like this (the above would be 6
> separate axioms and hold an informal recorded vote (OASIS voting
> process maybe but seems heavy weight).
>
>
>
> =Bill.Barnhill+endcomment
>
>
>
> Also, at the end of the $has and $is$has definition section, we said:
>
>
>
> ********** EXCERPT ***********
>
>
>
> [TODO: add explanation that $has statements do not and cannot infer
> cardinality.]
>
> =Bill.Barnhill+comment
>
>
>
> I don't remember reaching consensus on this. I remember you and
> Markus have said that you believe the above must be the case. I
> think $has must infer a minCardinality of 1 and have said so in the
> past.
>
>
>
> =Bill.Barnhill+endcomment
>
> *********** END EXCERPT ************
>
> The red highlighted section in the first excerpt documents, in my
> recollection, the realization we had that $has statements expressed
> a reification of a subject/predicate relationship. That's why the
> parentheses on (+x/+y) are necessary.
>
> Secondly, the fact that a $has statement resulted in reification
> that produce a new XDI subject node explains why $has statements
> have no cardinality – a conclusion that as I recall clearly had
> consensus across all of us that were active in the discussion.
>
>
>
> =Bill.Barnhill+comment
>
>
>
> Drummond I do not see how the first part explains the second, can
> you or Markus do a contradiction proof that shows that if $has
> statements have a minCardinality of 1 then reification can't work?
>
>
>
> Sounds like we didn't have enough people active in the discussion.
> Was the discussion on the mailing list?
>
>
>
> =Bill.Barnhill+endcomment
>
> To use an analogy to English, I can say "ball color", but that
> statement has no cardinality about ball colors – it is just defining
> a TYPE of color. Type has no cardinality.
>
> If we wanted to talk about the specific colors a specific balls has,
> we would say, "a ball has a color" (i.e., a $has$a relationship).
> With a $has$a relationship, you can now add cardinality, i.e., "a
> ball has 3 colors".
>
> But "ball color" as a concept (a noun in English), identifying a
> type of color, is very different than the statement "a ball has a
> color", which is not a noun, but a complete statement about the
> relationship of a ball (a noun) and "color" (another noun,
> representing a property). In XDI, I believe this is illustrated by
> the difference between the following:
>
>
>
>
>         $HAS STATEMENT
>
>         ball color
>
>         +ball/$has/+color
>         (+ball/+color)
>         +ball+color
>
>         $HAS$A STATEMENT
>         ball has a color
>
>         +ball/$has$a/+color
>         +ball/+color
>
> In conclusion, I believe the current definition of $has is what is
> currently documented in the spec, as specifically illustrated in the
> example:
>
>
>         +x/$has/+y     ==>     (+x/+y)     ==>     +x+y
>
> The only revision I would make to this example is that the arrows
> may imply the inferences are only unidirectional, while I think we
> all believe they are bidirectional. So the revised diagram would be:
>
>
>         +x/$has/+y     <==>     (+x/+y)     <==>     +x+y
>
> If this is true, then I believe it follows that $has statements
> cannot be either only left or only right associative, but only full
> associative, because if the inferences above are true, then both of
> the following are true:
>
>
>         +x+y/$has/+z     <==>     (+x+y/+z)     <==>     +x+y+z
>
>         +x/$has/+y+z     <==>     (+x/+y+z)     <==>     +x+y+z
>
> Again, I believe this is entirely logically consistent, because it
> also means:
>
>
>         +x+y+z/$is$a/+z
>
>         +x+y+z/$is$a/+y+z
>
> =Bill.Barnhill+comment
>
>
>
> I changed my mind on this one and agree on fully associative
>
>
>
> =Bill.Barnhill+endcomment
> Now, it is important to point out (which we do not currently do in
> the spec – I think this should be fixed) that left or right
> associativity CAN be specified through the use of XDI reification
> (cross-references). In other words, to make +x+y+z either left or
> right associative, the XDI statements would be:
>
>
>         (+x+y)/$has/+z     <==>     ((+x+y)/+z)     <==>     (+x+y)+z
>
>         +x/$has/(+y+z)     <==>     (+x/(+y+z))     <==>     +x(+y+z)
>
>
> =Bill.Barnhill+comment
>
> To me the above just doesn't hunt as they say in the south. Or
> rather it does, but doesn't say what I think you mean to say. In
> english I would translate (+x+y)+z as saying the following: the
> statement +x+y has a metadata property +z.
>
>
>
> This discussion and above example may mean we need to revisit
> discussion of a grouping operator, which kind of got dropped after
> the last face to face.
>
>
>
> =Bill.Barnhill+endcomment
> I believe this provides the expressivity that Giovanni believes is
> required to accurately reflect semantics where two XDI RDF nodes can
> only be considered in their own context (e.g., his "Markus contract
> sig" example, where "Markus contract" is to be treated as a unit).
>
> The result, in my understanding, is a definition that has no logical
> inconsistencies or ambiguities.
>
> So, the question to the TC is: does anyone disagree with these
> definitions? If so, why?
>
>
>
> =Bill.Barnhill+comment
>
>
>
> Yes, for the above reasons and the reasons in the previous email
> today. I think we can't address these definitions as a single unit.
> We need to look at each in turn starting with the most fundamental
> ones, get agreement, and build from there. I'd suggest starting with
> $has implying minCardinality of 1.
>
>
>
> =Bill.Barnhill+endcomment
>
> =Drummond
>
>
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


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