[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)
In proofing my rich-HTML-link-as-X3 in the example at the end of this last message, I realized I missed a square bracket at the very end (one reason I love X3 Simple ;-). The example should 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... Converted to X3 Simple, the link itself would be: $ $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 =Drummond > -----Original Message----- > From: Drummond Reed [mailto:drummond.reed@cordance.net] > Sent: Wednesday, March 19, 2008 5:40 PM > To: 'Kermit Snelson' > 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) > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. You may a link to this group and 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]