[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)
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 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%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]