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] Re: XDI subjects (was Groups - XDI RDF v8 Comments-Barnhill)


Hello,

I think I've now understood why we cannot have 
XDI documents (and possibly literals) in subjects 
(i.e. to have a full addressable RDF graph). 
However, with predicates like $is and their 
inverse (which is $is) we should proceed 
carefully. Coming back to the third example by 
Kermit, if we use $is as predicate we've exactly what Kermit suggested:

<"http://example.com/number/of/hours/in/a/day";> 
<"http://english.com/is";> <"24">
<"http://example.com/number/of/beers/in/a/case";> 
<"http://english.com/is";> <"24">

<"24"> <"http://english.com/is";> 
<"http://example.com/number/of/hours/in/a/day";>
<"24"> <"http://english.com/is";> 
<"http://example.com/number/of/beers/in/a/case";>

This is implicit in $is which MUST be symmetric 
($is inverse predicate is $is). Otherwise, I 
think, the semantics of $is is lost. But probably 
here $is is not the best predicate...

Giovanni

At 20.57 18/03/2008, Kermit Snelson wrote:
>There are at least three reasons, in my opinion, 
>why XDI/RDF subjects can't be literals: 1) RDF 
>itself doesn't allow literals as subjects: 
>http://www.w3.org/TR/rdf-concepts/#dfn-subject 
>2) The proper XDI mapping of:   Blah blah <a 
>href="http://example.com/some/target";>some 
>literal text here</a> blah blah would be:   XDI 
>subject = "http://example.com/some/target";   XDI 
>predicate = $html$a   XDI object = "some literal 
>text here" and the corresponding inline X3, with 
>the additional predicates in Drummond's example, 
>would be something like:   Blah blah 
>[http://example.com/some/target[$html$a["some 
>literal text here"]] 
>[$uri$https[https://example.com/resolvable/uri]][$is[@!F83.62B1.44F.2813!1234]] 
>blah blah 3) Allowing literals as subjects 
>doesn't make logical sense. Consider the 
>following: 
><"http://example.com/number/of/hours/in/a/day";> 
><http://english.com/is";> 
><"24">. 
><"http://example.com/number/of/beers/in/a/case";> 
><http://english.com/is";> <"24">. So far, so 
>good. But to assert the following:   <"24"> 
><"http://english.com/is";> 
><"http://example.com/number/of/hours/in/a/day";>. 
><"24"> <"http://english.com/is";> 
><"http://example.com/number/of/beers/in/a/case";>. 
>  is to assert some substantial connection 
>between the number of hours in a day and the 
>number of beers in a case, which is fallacious. 
>=Kermit On 3/18/08, Drummond Reed 
><drummond.reed@cordance.net> wrote: > > > > > 
>First, let me be clear: I'm not a big fan of 
>using literals as subjects, and > I don't have 
>any compelling use cases for it (see below for 
>the only one > I've been thinking about). It was 
>Giovanni who seemed to have a reason for > using 
>literals as subjects. > > > > Second, I agree, a 
>literal as a subject can't be changed or it 
>becomes a new > subject from an XDI 
>standpoint. > > > > Now, here's the one thing 
>that's had me thinking about 
>literals-as-subjects > for a long time ­ take a 
>standard HTML link 
>tag: > > > >              Blah blah <a > 
>href="http://example.com/some/target";>some 
>literal text > here</a> blah blah > > > > If you 
>wanted to turn this into an XDI statement, the 
>only logical mapping > that seems to make sense 
>is: > > > >             XDI subject = "some 
>literal text here" > >             XDI predicate 
>= $uri > >             XDI object = 
>"http://example.com/some/target"; > > > > In 
>other words, were you to replace HTML <a> tags 
>with X3 within an HTML > document, the above 
>link would look like: > > > >             Blah 
>blah ["some literal text > 
>here"[$uri["http://example.com/some/target";]]] 
>blah blah > > > > That's pretty cool, because 
>now you have a way of embedding really rich > 
>semantics into ordinary web pages and web links. 
>As a simple example, image > being able to make 
>the above simple link into a compound statement, 
>which > includes: a) an alternate HTTPS URL for 
>the target resource, and b) a > persistent XRI 
>synonym for the 
>resource: > > > >             Blah blah ["some 
>literal text > 
>here"[$uri["http://example.com/some/target";]] > 
>[$uri$https["https://example.com/some/target"]][$is[@!F83.62B1.44F.2813!1234]]  
> > blah blah > > > > Net net: it's the ability 
>to put XDI statements inline in ordinary HTML 
>and > other markup formats that's the strongest 
>use case I've seen so far for > being able to 
>treat literals as XDI subjects. > > > > 
>=Drummond > > > > > > > 
>________________________________ > > > From: 
>markus.sabadello@gmail.com 
>[mailto:markus.sabadello@gmail.com] On > Behalf 
>Of Markus Sabadello >  Sent: Tuesday, March 18, 
>2008 9:30 AM >  To: Drummond Reed >  Cc: 
>Giovanni Bartolomeo; barnhill_william@bah.com; 
>xdi@lists.oasis-open.org >  Subject: [xdi] Re: 
>XDI subjects (was Groups - XDI RDF v8 
>Comments-Barnhill) > > > > > >  One aspect that 
>seems strange with using literals as subjects is 
>that you > can't modify them with XDI messages 
>(I think). > >  If you 
>have > >  =drummond >     +name > 
>"Drummond" > >  You can modify the literal like 
>this: > >  =drummond >     $mod >        / > 
>       =drummond >              +name > 
>        "D.Reed" > >  But you can't modify a 
>subject. > >  What again was a use case for 
>literals in subjects? (I'm not against it, > 
>just asking) > >  Markus > > > On Mon, Mar 17, 
>2008 at 7:34 PM, Drummond Reed 
><drummond.reed@cordance.net> > wrote: > > > > 
>[renaming this thread to something more 
>relevant] > > > > Giovanni, > > > > I agree with 
>Markus ­ I can't make sensee of having an XDI 
>document as an XDI > subject. I'm not sure my 
>point from my earlier message came across, but 
>I > was saying that when you use XDI context 
>syntax ­ the  // syntax ­ it does > _not_ assert 
>that the previous XDDI document is the subject 
>of an XDI > statement. It says that the previous 
>XDI statement _contains_ another XDI > 
>statement. For example, in the following X3 
>Simple graph… > > > > 
>=drummond > >             +email > > 
>             / > > 
>       =drummond > > 
>                     +email+home > > > 
>"dsr.example@gmail.com" > > 
>                            +email+work > > > 
>"drummond.example@cordance.net" > > > > …you can 
>makke the following "compound XDI 
>statement": > > > > 
>=drummond/+email//=drummond/+email+home > > > > 
>This compound statement does not assert an XDI 
>document as a subject. It > asserts the 
>following: > > > > 1) =drummond is an XDI 
>subject > > 2) +email is an XDI predicate of 
>this subject > > 3) The object is another XDI 
>document > > 4) =drummond is an XDI subject in 
>this contained XDI document > > 5) +email+home 
>is an XDI predicate of that XDI subject > > 6) 
>"dsr.example@gmail.com" is the literal value of 
>that XDI object > > > > If you wanted to have an 
>entire XDI document as the subject of an XDI > 
>statement, I think the syntax you are looking 
>for is: > > > > > 
>(xdi-subject/$context$xdi)/xdi-predicate/xdi-object  
> > > > > In this XDI statement: > > > > 1) 
>(xdi-subject/$context$xdi) is a cross reference 
>that uniquely identifies > an XDI 
>document: > >             a) xdi-subject is the 
>XDI subject authoritative for a reference > to 
>the XDI document > >             b) $context$xdi 
>is the context type > > 2) xdi-predicate is the 
>XDI predicate whose subject is the entire 
>previous > cross-reference > > 3) xdi-object is 
>whatever the XDI object is (literal, another XDI 
>subject, > or another XDI document) > > > > 
>**************** > > > > As for the issue of 
>whether a literal can be an XDI subject, my 
>primary > concern about that is how to treat it 
>under XDI addressing rules. In every > XDI 
>context, the XRIs must be unique. So there are 
>two directions we could > take: > > > > 1) Allow 
>literals to be XDI subjects, but ignore them 
>from an XDI addressing > perspective (i.e., they 
>would be "invisible" from an addressing 
>standpoint.) > > > > 2) Allow literals as XDI 
>subjects in syntax, but for addressing 
>purposes, > have a specified transformation into 
>relative XRI. For example: > > > > ["Drummond 
>Reed"[+email[""dsr.example@gmail.com"]]]   <==X3 
>with literal as > non-addressable subject > > 
>[%44rummond%20%52eed[+email[""dsr.example@gmail.com"]]] 
><==X3 with literal > as addressable XRI 
>subject > > > > Thoughts? > > > > 
>=Drummond > > > > > > > 
>________________________________ > > > From: 
>markus.sabadello@gmail.com 
>[mailto:markus.sabadello@gmail.com] On > Behalf 
>Of Markus Sabadello >  Sent: Monday, March 17, 
>2008 9:10 AM >  To: Giovanni Bartolomeo >  Cc: 
>Drummond Reed; barnhill_william@bah.com; 
>xdi@lists.oasis-open.org >  Subject: Re: [xdi] 
>Groups - XDI RDF v8 Comments-Barnhill (pdf) (XDI 
>RDF v8 > Comments-Barnhill.pdf) 
>uploaded > > > > >  From the standpoint of 
>having already implemented this, the proposal 
>of > allowing a subject to be an XDI document 
>(aka subcontext aka inner graph) is > a 
>nightmare.. > >  I can think of at least the 
>following immediate problems: >  - Some of the 
>serialization formats may not be able to express 
>this. >  - We always said that subjects in a 
>graph must be unique. Can this still be > 
>enforced with inner graphs as subjects? >  - 
>What will XDI messages look like that make 
>changes to these subjects? > >  I don't feel too 
>secure about allowing literals as subjects 
>either, but I > can't really argue why at this 
>point.. > >  But I'm just thinking loud.. Of 
>course all this is not necessarily a reason > 
>not to do it :) > >  Markus > > > On Sat, Mar 
>15, 2008 at 1:39 PM, Giovanni Bartolomeo > 
><giovanni.bartolomeo@uniroma2.it> wrote: > > > > 
>At 20.52 13/03/2008, Drummond Reed wrote: > > 
>Giovanni, > >  It's a subtle point, but when you 
>use subcontext syntax (//), the parent > XDI 
>document is not the subject of the child XDI 
>document. It is the > container ("context") for 
>the child. Thus I don't think the ABNF should > 
>change. > > > > > Ok, I see; so if my 
>understanding is correct, we have both the 
>possibility > to have a whole XDI document as an 
>RDF object as well as a "contained" > object 
>("subcontext"). Thus, the original question: in 
>these ABNF excerpts, > how could we specify that 
>a subject can be an XDI document? 
>E.g. > > > >  X3 = *( "[" sub *( "[" pred *( "[" 
>obj "]" ) "]" ) "]" ) >  sub = [ comment ] 
>xri-reference [ comment ] >  sub = [ comment ] 
>(xri-reference / X3) [ comment ] >  pred = [ 
>comment ] xri [ comment ] >  obj = [ comment ] ( 
>xri-reference / literal / X3 ) [ comment 
>] >  literal = """ *char """ >  comment = "<--" 
>*c-char "-->" > > > > RE the question of whether 
>to allow a literal as an XDI subject, yes, I 
>have > thought about, for reasons which I'll 
>explain on today's call (if we have > 
>time). > > > > I would allow this; especially if 
>we'll standardize inverse predicates, we > 
>should allow a subject to be a literal, as well 
>as a XDI document or a > 
>xri-reference. > > > > > > > >  RE whether a 
>predicate should be able to be an XDI document, 
>my immediate > answer is no ­ RDF predicates are 
>strictly URIs; XDI preedicates should be > 
>strictly XRIs. > > > > Yes, I agree with this. 
>To summarize, I would be in favour of having 
>the > same definition for subjects and 
>objects: > >  sub = [ comment ] (xri-reference / 
>literal / X3) [ comment ] > > > pred = [ comment 
>] xri [ comment ] >  obj = [ comment ] ( 
>xri-reference / literal / X3 ) [ comment ] > > 
>what do you 
>think? > >  Thanks, > 
>Giovanni > > > > > > > > >  Talk to you 
>shortly, > >  =Drummond > > 
>________________________________ > > > From: 
>Giovanni Bartolomeo [ > 
>mailto:giovanni.bartolomeo@uniroma2.it] >  Sent: 
>Thursday, March 13, 2008 3:11 AM >  To: Drummond 
>Reed; 'Markus Sabadello' >  Cc: 
>barnhill_william@bah.com; 
>xdi@lists.oasis-open.org >  Subject: RE: [xdi] 
>Groups - XDI RDF v8 Comments-Barnhill (pdf) (XDI 
>RDF v8 > Comments-Barnhill.pdf) 
>uploaded > >  Hello Drummond, > >  Thanks for 
>this clarification; however, if my understanding 
>is correct, > this means that an XDI document 
>can also be subject of another XDI document, > 
>other than object. >  Doesn't this implies that 
>we should update ABNF syntax making the > 
>definition of subject somehow similar to the one 
>for object? > >  X3 = *( "[" sub *( "[" pred *( 
>"[" obj "]" ) "]" ) "]" ) >  sub = [ comment ] 
>xri-reference [ comment ] >  sub = [ comment ] 
>(xri-reference / X3) [ comment ] >  pred = [ 
>comment ] xri [ comment ] >  obj = [ comment ] ( 
>xri-reference / literal / X3 ) [ comment 
>] >  literal = """ *char """ >  comment = "<--" 
>*c-char "-->" > >  Further questions 
>are: > >          should allow literals as a 
>subject? >          should be predicate 
>definition similar to subject and object one > 
>update, e.g. may a predicate contain an XDI 
>document? > >  however I'm not quite convinced 
>with these last two ideas... comments > 
>welcome! > >  Giovanni > > >  At 22.38 
>12/03/2008, Drummond Reed wrote: > >  Just to be 
>clear, the "n-segment" syntax was deprecated in 
>the V9 XDI RDF > Model document ( > 
>http://wiki.oasis-open.org/xdi/XdiRdfModel) due 
>to the > problems identified in this thread. To 
>be precise, it was unclear 
>whether > >  s1 >              p1 > 
>             o1 > 
>       p2 > 
>             o2 > >  meant that s1/p1/o1 was the 
>subject of p2/o2 or not. It was also unclear > 
>how cross-reference syntax would be 
>applied. > >  We solved both problems by 
>eliminating "n-segment" syntax in the V9 > 
>document. Now it should be unambiguous that if 
>you want to express that > s1/p1/o1 is the 
>subject of p2/o2, you 
>say: > >              (s1/p1/o1)/p2/o2 > >  What 
>did remain is the // syntax for subcontexts, 
>which allows you to solve > the RDF "blank node 
>problem" by providing an address for a blank 
>node. That > address is simply // (which fits 
>very nicely from a conceptual standpoint > since 
>the identifier for that segment is 
>"blank"). > >  So if I want to say that the 
>object of s1/p1 is a blank node, I can write > 
>it as s1/p1// . This creates a new XDI context 
>in which I can express > another set of XDI 
>statements whose XRIs are unique in this 
>context. > >  We'll go over the practical uses 
>for this on the call tomorrow ­ aagenda > coming 
>out 
>shortly. > >  =Drummond > > 
>________________________________ > > > From: 
>markus.sabadello@gmail.com [ > 
>mailto:markus.sabadello@gmail.com] On Behalf Of 
>Markus > Sabadello >  Sent: Wednesday, March 12, 
>2008 10:44 AM >  To: Giovanni Bartolomeo >  Cc: 
>barnhill_william@bah.com; 
>xdi@lists.oasis-open.org >  Subject: Re: [xdi] 
>Groups - XDI RDF v8 Comments-Barnhill (pdf) (XDI 
>RDF v8 > Comments-Barnhill.pdf) 
>uploaded > > >  To be honest, I don't really 
>understand the N-Segment syntax anyway. > >  Why 
>is > >  s1 >          p1 > 
>o1 >                            p2 > 
>                         o2 > >  better 
>than > >  s1 >          p1 > 
>o1 >  o1 >          p2 > 
>o2 > >  ? > >  Markus >  On Tue, Mar 11, 2008 at 
>4:29 PM, Giovanni Bartolomeo < > 
>giovanni.bartolomeo@uniroma2.it> wrote: >  Dear 
>Bill, All, > >  reading your comments about XDI 
>RDF v8 ( > 
>http://www.oasis-open.org/committees/download.php/27112/XDI%20RDF%20v8%20Comments-Barnhill.pdf  
> > ) I've found this sentence: > >  One problem 
>with the 3-Segment syntax is that the N-Segment 
>syntax uses > cross-references 
>for >  reification. This means 3-Segment syntax 
>has to have a different notation > for a subject 
>which is the >  statement itself rather than the 
>object of the statement. The 3-Segment > 
>notation for this is a crossreference >  within 
>a cross-reference: (()). So a subject of (s/p/o) 
>asserts s/p/o and > starts a new 
>statement >  whose subject is o, while a subject 
>of ((s/p/o)) asserts s/p/o and starts a > new 
>statement whose subject is >  the statement 
>s/p/o. For example to say that =Drummond is 
>author of the > statement =Bill.Barnhill is 
>a >  contributor to the resource represented by 
>@example we would use the 
>XRI: > 
>((@example/+dc+contributor/=Bill.Barnhill))/+dc+author/=Drummond.  
> > >  Well, I'm wondering how N3 syntax (and 
>consequently X3 simple) addresses > this 
>problem: > >  If my understanding is correct, 
>the N3 syntaxt >  <s1> <p1> <o1> >  <o1> <p2> 
><o2> >  is equivalent to X3 
>simple >  s1 >          p1 > 
>o1 >                            p2 > 
>                         o2 >  what if I want to 
>express that the whole statement <s1> <p1> <o1> 
>is the > subject of <p2> <o2>? How this can be 
>represented with X3 Simple? >  Breaking into a 
>new subcontext doesn't seem to help, as this 
>explicitly > introduce a new 
>subject! >  s1 >          p1 > 
>/ >                            s2 > 
>                        p2 > 
>                          o2 > >  Whereas I just 
>want that the whole statement (s1/p1/o1) is the 
>subject of > p2! > >  What do you think? Am I 
>missing 
>something? > >  Thanks, >  Giovanni > > >  At 
>11.06 07/02/2008, barnhill_william@bah.com 
>wrote: > >  The document named XDI RDF v8 
>Comments-Barnhill (pdf) (XDI RDF v8 > 
>Comments-Barnhill.pdf) has been submitted by Mr. 
>William Barnhill to the > OASIS XRI Data 
>Interchange (XDI) TC document repository. 
>Document > Description: View Document Details: > 
>http://www.oasis-open.org/apps/org/workgroup/xdi/document.php?document_id=27112  
> > Download Document: > 
>http://www.oasis-open.org/apps/org/workgroup/xdi/download.php/27112/XDI%20RDF%20v8%20Comments-Barnhill.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 No virus found in 
>this incoming message. >  Checked by AVG Free 
>Edition. >  Version: 7.5.516 / Virus Database: 
>269.19.19/1256 - Release Date: > 02/02/2008 13.50 > > > > > > > >




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