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)


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]