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: More comments on XDI metagraph predicate examples (was: RE: [xdi] Minutes: XDI TC Telecon Thursday 1-2PM PT 2008-12-18)


Dear Drummond,

thank you very much for your reply. I'm following the ongoing discussion about the XDI graph, however, I see that things are getting quite complex. Trying to put some order in my mind I produced a writeup with a proposal for a simpler (i.e. simpler to understand and to implement) XDI RDF graph model.

http://www.oasis-open.org/apps/org/workgroup/xdi/download.php/30802/xdi-rdf-global-graph-proposal-v1.pdf

In the document I basically covered five use cases: foundation of the graph, predicates, inverse predicates, query & messages, distribution.
The two key principles I started from are the one of syntactical correctness and the one of semantic consistency. To give a familiar comparison, an XML document is syntactical correct if it is well formed and it is semantic consistent if it validates against a schema. I think that these two properties should not be mixed, otherwise we risk to loose the original intention of providing XDI with the greatest expressiveness power.

Kind Regards,
Giovanni

At 04.18 17/01/2009, Drummond Reed wrote:
Giovanni, I’m cleaning up some emails in the past week that that I never answered. This one had two questions from you, which I’ll just answer up front since the thread was getting pretty deep (and it also answers a question pending from Markus too).
 
The first one was “what does +a+b+c infer?” I think this is now answered by the $has section of http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel and by diagrams 3A, 3B, 3C, and 3D of http://www.oasis-open.org/committees/download.php/30719/xdi-rdf-graph-model-diagrams-v2.pdf . Please look these over and let me know if you still have issues.
 
The second one was a suggestion about Markus’ question about addressing predicates (arcs). You suggested that maybe all addresses in the graph were actually arcs.
 
I investigated that path once about two years ago but realized that while all the identifiers are arcs, the arc itself is not what is identified by the arc. What the arc identifies is the node to which it points.
 
But it is important to mention that the XDI RDF graph does have the ability to address a set of arcs identifing a set of nodes, not just one node. We do this by allowing XDI addresses that consist of {subject}/{predicate} and no object. In fact you can draw the following table based on XDI address forms:
 
            {subject}                                                <== addresses exactly one node if true
            {subject}/{predicate}                               <== addresses 1-n nodes if true
            {subject}/{predicate}/{object}                    <== addresses exactly one node if true
            {subject}/{predicate}//                             <== addresses 1-n nodes (a context) if true
 
So {subject}/{predicate} and {subject}/{predicate}// are both ways to address a set of n>= 1 nodes in the graph.
 
Hope this helps,
 
=Drummond
 
 

From: Giovanni Bartolomeo [ mailto:giovanni.bartolomeo@uniroma2.it]
Sent: Friday, January 09, 2009 2:47 AM
To: Drummond Reed
Cc: 'Nick Nicholas'; 'OASIS - XDI TC'
Subject: More comments on XDI metagraph predicate examples (was: RE: [xdi] Minutes: XDI TC Telecon Thursday 1-2PM PT 2008-12-18)
 
Hello Drummond,

thank you for your answers; but I fear I've some more concerns.. please see my comments below.

Thanks,
Giovanni



At 09.09 30/12/2008, Drummond Reed wrote:

Giovanni pointed out that Statement 6 in the xdi-rdf-graphing-v1 document is
not consistent with the link contract example found on page 33 of the
xdi-rdf-model-v11 document:

         http://www.oasis-open.org/committees/download.php/29748/xdi-rdf-model-v11.pd
f

In that document, =drummond/$has/+friend$contract results in the XRI
=drummond+friend$contract, but it should be =drummond(+friend$contract).
Drummond agreed this should be changed in the next version.

UPDATE: In his study of the Statement 6 issue identified by Markus, Drummond
subsequently revised the proposed graph structure for compound $has
statements. This eliminates the issue identified by Markus and also removes
the inconsistency with the V11 XDI RDF Model document. V2 of the XDI RDF
Graphing document has been posted at:




[giovanni] To further clarify, I also propose to have

(1) =drummond+friend/$has/$contract

instead of

(2) =drummond/$has/+friend$contract

even if they both result in

(3) =drummond+friend$contract

statement (2) seems to me to assert that a subject +friend$contract exists regardless the context it is intended to be into (=drummond). Statement (1) instead put $contract in the context of =drummond+friend and +friend in the context of =drummond. Or maybe I'm missing something?
 
[=Drummond] No, I think you are correct, statement (2) implies that there is a XDI subject with the XRI +friend$contract. But I think that is implied in all cumulative $has statements. As I clarified in the page I just posted ( http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel), in an XDI context, the XRI
=drummond+friend$contract infers all of the following XDI RDF statements:
 
          (a) =drummond/$has/+friend/
          (b) =drummond+friend/$has/$contract
          (c) =drummond/$has/+friend$contract

[giovanni] Yes, I see that

+a/$has/+b+c  
==>  
+a+b+c

+a+b/$has/+c  
==>  
+a+b+c

 
however, if you want to REVERSE these statements, starting from +a+b+c, you can infer EITHER (1) +a/$has/+b+c OR (2) +a+b/$has/+c OR (3) both. And the outcomes are different in the three different cases.
In particular, if you have  (1) +a/$has/+b+c, this implies that you should have also +b/$has/+c.
But if you have (2), then you should have also +a/$has/+b.

Coming back to the example, from =drummond+friend$contract you may infer

(1)
=drummond/$has/+friend/
=drummond+friend/$has/$contract

OR
        
 (2)
+friend/$has/$contract
=drummond/$has/+friend$contract

OR (3)
both.

I think that (1) and (2) are asserting very different things and that (1) is what we want to say, whereas (2) is not the same.


[giovanni] In example #8 (equivalence +x/$is/+y) the arc connecting the two circles is labelled with +y, does it have a particular meaning? Maybe, for consistency's sake, it is better to maintain the graphical convention to name the arc after the predicate. Since $is is a symmetric predicate, what do you think about the following amendment?

Emacs!
 
[=Drummond] The graph you draw is 100% accurate – it is a depiction of the full metagraph statement, i.e., of the XDI RDF statement +x/$is/+y. The graph I was drawing is a depiction of the resulting statement in the XDI RDF graph, which is that the node +x has a self-referential arc of type +y. So both are correct, and I agree we should show both in the two columns. I’ll make a note to revise that in the next version.

[giovanni] Ok, I see. But in the graph in example #9
+x/$has$a/+y
+x/+y
the arc +y is used to represent a property belonging to +x (this also applies to all meta-graphs depicted in the document). Thus wouldn't the picture in example #8 read as: +x has a property +y whose value is +x itself: +x/+y/+x ?

BTW I think this is strongly related to another issue which has come to my mind. I remember that in the ATI model it was stated that addresses refer to ARCs, not to NODEs. This is consistent with some OO programming languages like c++ and Java which have the concepts of pointers and objects. Pointers are represented through arcs pointing to nodes which are objects. Maybe we have a similar issues here: XDI addresses might be arcs, not nodes.

Emacs!

This should address also Markus' question:

[markus] BTW in your terminology, a predicate is not a node in the graph, right? So predicates themselves don't have addresses?

What about to amend this

"Every *node* in the XDI RDF graph can be addressed by at least one XRI
representing an XDI address, and every XDI address identifies a unique *node*
in the XDI RDF graph."

into

"Every *ARC* in the XDI RDF graph can be addressed by at least one XRI
representing an XDI address, and every XDI address identifies a unique *ARC*
in the XDI RDF graph."

(..but maybe I can miss some issues here...)?



Internal Virus Database is out of date.
Checked by AVG - http://www.avg.com
Version: 8.0.176 / Virus Database: 270.10.6/1891 - Release Date: 13/01/2009 8.17



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