[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)
Kermit, I agree with you that RDF itself doesn't allow literals as subjects (why they made that decision is a topic we'll put out of scope for now). However I doesn't make sense to me that the "proper XDI mapping" of the HTML link... 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" The reason is that I don't think that's the actual RDF graph being expressed. An HTML link embedded in one page pointing to another Web page would be the following graph: ---------------------- ----------------------- | HTML link text | ======> | Target page | ---------------------- ----------------------- RDF subject RDF predicate RDF object That would map to: XDI object = "some literal text here" XDI predicate = $uri XDI subject = "http://example.com/some/target" However, building on Markus' suggestion, it does appear that there is a clean way to express this so that it does not force us to have a literal as an XDI subject. In X3 Simple, it would be the following: $ $type$xsd$string "some literal text here" $uri "http://example.com/some/target" This especially makes sense since "$" by itself represents the self-context -- literally, "here and now", which is what every HTML link actually represents -- a link from the point where you see the link to the target resource. So in English-pseudo-X3 this would translate to something like: In the current context the text "some literal text here" has the URI "http://example.com/some/target" That completely solves the problem. We still get unambiguous HTML-to-XDI-RDF translation of any HTML link together with the ability to extend the semantics of the link as we discussed earlier in the thread. So a corrected example of such a "rich XDI link" we discussed earlier in the thread would be: Blah blah [$[$type$xsd$string["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 =Drummond > -----Original Message----- > From: kermit.snelson@gmail.com [mailto:kermit.snelson@gmail.com] On Behalf > Of Kermit Snelson > Sent: Tuesday, March 18, 2008 12:58 PM > To: Drummond Reed > Cc: Markus Sabadello; Giovanni Bartolomeo; barnhill_william@bah.com; > xdi@lists.oasis-open.org > Subject: Re: [xdi] Re: XDI subjects (was Groups - XDI RDF v8 Comments- > Barnhill) > > 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!1 > 234]] > 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!12 > 34]] > > 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 sense 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 XDI 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 make 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 predicates 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 - agenda > > 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%20Commen > ts-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]