W3C home > Mailing lists > Public > public-rdf-text@w3.org > April to June 2009

RE: A summary of the proposal for resolving the issues with rdf:text --> Could you please check it one more time?

From: Boris Motik <boris.motik@comlab.ox.ac.uk>
Date: Wed, 20 May 2009 16:57:42 +0200
To: "'Eric Prud'hommeaux'" <eric@w3.org>
Cc: "'Seaborne, Andy'" <andy.seaborne@hp.com>, "'Alan Ruttenberg'" <alanruttenberg@gmail.com>, <public-rdf-text@w3.org>, "'Sandro Hawke'" <sandro@w3.org>, "'Axel Polleres'" <axel.polleres@deri.org>
Message-ID: <0736D1A0FD274E17BC88B7D67F2D2C72@wolf>
Hello,

I have to agree that the text in the rdf:text specification might not reflect
correctly the intentions I expressed. Quite frankly, we (i.e., the authors of
the rdf:text specification) haven't been really aware of all the repercussions
and possible interpretations of our spec. The text you refer to at the end of
this e-mail has been introduced as a reaction to one of the earlier comments by
the SPARQL WG.

Nevertheless, here is what the goals of rdf:text are: 

1. Both RIF and OWL 2 find the distinction between plain and typed literals
painful. This is because, whenever one refers to literals, one needs two
subcases: for a plain and for a typed literal. Both RIF and OWL 2 have
independently come up with exactly the same idea: they opted to represent the
"semantic content" of plain literals through typed literals whose value is the
same as the corresponding plain literals. This makes the definitions and the
semantic treatment of literals in both RIF and OWL 2 much simpler. 


2. Both RIF and OWL 2 need a mechanism to refer to the set of all plain
literals. For example, in OWL 2 you might want to say "the range is a piece of
text". In OWL 2 this is very important because of facets. Using a datatype for
this purpose is natural. Both RIF and OWL 2 have chosen to follow the
definitions of datatypes from XML Schema. Thus, each datatype consists of a set
of lexical values, a value space, and a L2V mapping. Plain literals do not
follow these principles; therefore, rdf:text defines lexical values that encode
the content of plain literals.


Now as I have already said, we have not had the complete store as clear in our
minds right from the beginning. Given all the LC comments (which have by the way
have been quite useful and have significantly improved the spec), however, both
RIF and OWL 2 have agreed that the view I proposed in my e-mail is the
appropriate one (at least from the RIF and OWL 2 points of view). As I've stated
in my summary e-mail, to achieve this we simply need to remove from the
specification any special treatment of rdf:text: this should be a datatype like
any other. This is precisely the part of the document that you are referring to.

Thus, the final version of the document would not mention any interoperability
problems. Furthermore, we may also rework the introduction to make the intention
behind rdf:text clearer.

Regards,

	Boris

> -----Original Message-----
> From: Eric Prud'hommeaux [mailto:eric@w3.org]
> Sent: 20 May 2009 16:36
> To: Boris Motik
> Cc: 'Seaborne, Andy'; 'Alan Ruttenberg'; public-rdf-text@w3.org; 'Sandro
> Hawke'; 'Axel Polleres'
> Subject: Re: A summary of the proposal for resolving the issues with rdf:text
> --> Could you please check it one more time?
> 
> On Wed, May 20, 2009 at 01:38:29PM +0200, Boris Motik wrote:
> > Hello,
> >
> > I fully appreciate use case and I agree with your observation: this is
> something
> > that has to be addressed. I don't think, however, that solving this problem
> is
> > in the domain of rdf:text. The rdf:text specification merely defines yet
> another
> > datatype by specifying it in exactly the same way as this is done in XML
> Schema.
> > This datatype is just like any other XML Schema datatype; hence, the job
> from
> > rdf:text's point of view is done.
> 
> Ahh, perhaps we have different goals for rdf:text. rdf:text was, if I
> understand, created to address the issue that one could not infer the
> presenece of or the consequences of plain literals. One could fill
> that hole by creating a datatype that consumes and infers plain
> literals, or one could create a datatype which bijects to plain
> literals. Special machinery associated with that datatype is required
> in either case.
> 
> (I, who was not involved in rdf:text except as an afterthought,
>  argue that it is intended to take the former approach. You, an
>  author, argue something closer to the latter.
> )
> 
> > Furthermore, the addition of rdf:text to the mix of the supported datatypes
> adds
> > no new conceptual problems to SPARQL: the situation with rdf:text is no
> > different than with, say, xsd:integer (there are other examples as well).
> For
> > example, assume that you have an RDF graph
> >
> > G = { <a, b, "1"^xsd:integer> }
> >
> > but you ask the query
> >
> > Q = { <a, b, "1.0"^^xsd:decimal> }.
> >
> > Clearly, G D-entails Q, so Q should be answered as TRUE in G. It is not the
> > business of XML Schema to specify how this is to be achieved: XML Schema
> merely
> > specifies what the correct answer to the above question is. It is a SPARQL
> > implementation such as OWLIM that should think of how to support such a
> > definition.
> 
> SPARQL is defined in terms of the graph, so Q will fail to match G. As
> entailments supplement the graph, a D-entailing system confronted with
>   <a, b, "1"^xsd:integer>
> 
> will have a (notional) graph
>   G = { <a, b, "1"^xsd:integer> .
>         <a, b, "1.0"^^xsd:decimal> . }.
> 
> I'd say that we're aguing whether <a, b, "bob@en"^^rdf:text> shows up
> in the graph. You propose something like:
>   <a, b, "bob@en"^^rdf:text> D-entails to
>   G = { <a, b, "bob@en"^^rdf:text> .
>         <a, b, "bob"@en> . }.
> while I propose it that you never utter <a, b, "bob@en"^^rdf:text> and
> have the tools that implement the specification produce only <a, b, "bob"@en>
> .
> 
> 
> > I don't know whether a solution to the above problem (with xsd:integer and
> > xsd:decimal) exists. If not, I agree that one should be developed; however,
> we
> > would not go to the XML Schema WG and ask them to specify how should SPARQL
> > handle this case, would we?
> >
> > The problem with rdf:text is *precisely* the same as the one that I outlined
> > above. At an abstract level, it can be stated as "Several syntactic forms of
> > literals get mapped to the semantically identical data values". AS
> demonstrated
> > above, this problem exists without rdf:text, so I don't see how rdf:text
> brings
> > anything new into the whole picture. Thus, you can apply to the rdf:text
> case
> > exactly the same solution that you would apply to xsd:integer and
> xsd:decimal.
> 
> Your proposal is analogous to the D-entailment of numeric types, while
> I interpret the rdf:text last call wording as attempting to reduce the
> interrop challenges that would stem from spotty coverage with respect
> to that D-entailment.
> 
> 
> > If such a solution doesn't exist yet, then the SPARQL WG should address
> these
> > issues, and it should do so in general for all datatypes (xsd:integer,
> > xsd:decimal, and so on), not just for rdf:text.
> 
> I'd argue that it's more of an RDF Core issue (admitting that they
> don't exist). To solve an entailment especially for SPARQL sidesteps
> the other folks who want to know what's in the graph, for instance, an
> RDF graph API (such as exist in Jena, Sesame, ...), other entailment
> regimes that may or may not stack on top of OWL (imagine an
> app-directed regime like FOAF smushing), as well as secondary
> consumers of RDF graphs, for instance, an XSLT wich runs on the XML
> results returned from a SPARQL query service.
> 
> 
> > To summarize, I think that the work from the point of view of the rdf:text
> WG is
> > *done* and that we should not do anything else in this forum.
> 
> Andy has argued that approach 1 is the only of the 3 that is
> compatible with this text from the last call document:
> [[
> Despite the semantic equivalence between typed rdf:text literals and
> plain literals, the presence of typed rdf:text literals in an RDF
> graph might cause interoperability problems between RDF tools, as not
> all RDF tools will support rdf:text. Therefore, before exchanging an
> RDF graph with other RDF tools, an RDF tool that suports rdf:text MUST
> replace in the graph each typed rdf:text literal with the
> corresponding plain literal. The notion of graph exchange includes,
> but is not limited to, the process of serializing an RDF graph using
> any (normative or nonnormative) RDF syntax.
> ]]. \1 is clarifying the boundries of the above graph exchange.
> 
> > Regards,
> >
> > 	Boris
> >
> > > -----Original Message-----
> > > From: Eric Prud'hommeaux [mailto:eric@w3.org]
> > > Sent: 20 May 2009 13:18
> > > To: Boris Motik
> > > Cc: 'Seaborne, Andy'; 'Alan Ruttenberg'; public-rdf-text@w3.org; 'Sandro
> > > Hawke'; 'Axel Polleres'
> > > Subject: Re: A summary of the proposal for resolving the issues with
> rdf:text
> > > --> Could you please check it one more time?
> > >
> > > On Wed, May 20, 2009 at 09:29:00AM +0200, Boris Motik wrote:
> > > > Hello,
> > > >
> > > > I don't see the benefit of option 1, as it makes things unnecessarily
> > > complex.
> > > > The fewer exceptions we have, the easier it will be to actually
> implement a
> > > > conformant system. The dichotomy between plain und typed literals is
> just an
> > > > example of an exception that just makes implementation difficult.
> Instead of
> > > > introducing more special cases, I think we should unify these whenever
> > > possible.
> > > >
> > > > Furthermore, I'm not sure whether sorting out things such as the ones
> > > pointed
> > > > out below is necessary to finalize the rdf:text specification. Please
> note
> > > that
> > > > rdf:text already has a well-defined lexical and value space, and this is
> > > *the
> > > > only* thing that we need to be able to plug rdf:text into the model
> theory
> > > of
> > > > RDF. That is, given RDF graphs G1 and G2 possibly containing rdf:text
> > > literals
> > > > and/or plain literals, using the definitions from the present rdf:text
> > > > specification one can unambiguously answer the question whether G1 D-
> entails
> > > G2.
> > > > For example, if G1 is
> > > >
> > > > <a, b, "abc@en"^^rdf:text>
> > > >
> > > > and G2 is
> > > >
> > > > <a, b, "abc"@en>
> > > >
> > > > then, according to the existing RDF model theory document, G1 D-entails
> G2
> > > and
> > > > vice versa. I don't see what else is there for the rdf:text
> specification to
> > > do:
> > > > I really think that the specification is complete. If SPARQL or other
> > > > specifications want to apply rdf:text in a different way and create
> special
> > > > cases, they are free to do so; however, I don't think it is in scope of
> the
> > > > rdf:text specification to solve all such problems.
> > >
> > > (Hesitantly re-stating use case), consider the use case of the OWLIM
> > > plugin for Sesame. If OWLIM forward chains some triples into the
> > > Sesame repository with objects like "bob"@en, existing SPARQL queries
> > > on the existing Sesame engine will match them as expected. RIF rules
> > > can consume those triples and know that any rules applying to a domain
> > > of rdf:text apply.
> > >
> > > Constrast that with an OWLIM which emits triples with objects like
> > > "bob@en"^^rdf:text . These triples will not match conventional queries
> > > intended to discover e.g. all the folks named "Bob". The Sesame SPARQL
> > > implementation can be extended, but then we are in Pat's scenario of
> > > fixing RDF by visiting all the deployed code.
> > >
> > > I expect that any design of rdf:text would have it reacting to plain
> > > literals as if they had a datatype of rdf:text and the appropriate
> > > lexical transformation. I propose that the simplest complete design is
> > > one where the inference of rdf:text objects results in their
> > > expression as plain literals, avoiding a dualism between
> > > "bob@en"^^rdf:text and "bob"@en which would lose interroperability
> > > with existing queries, graph APIs, XPaths operating on SPARQL Results,
> > > non-OWL inferencing systems, ...
> > >
> > >
> > > > Regards,
> > > >
> > > > 	Boris
> > > >
> > > > > -----Original Message-----
> > > > > From: public-rdf-text-request@w3.org [mailto:public-rdf-text-
> > > request@w3.org]
> > > > > On Behalf Of Eric Prud'hommeaux
> > > > > Sent: 20 May 2009 03:18
> > > > > To: Seaborne, Andy
> > > > > Cc: Alan Ruttenberg; public-rdf-text@w3.org; Boris Motik; Sandro
> Hawke;
> > > Axel
> > > > > Polleres
> > > > > Subject: Re: A summary of the proposal for resolving the issues with
> > > rdf:text
> > > > > --> Could you please check it one more time?
> > > > >
> > > > > On Tue, May 19, 2009 at 03:57:11PM +0000, Seaborne, Andy wrote:
> > > > > > Apologies:
> > > > > >
> > > > > > > On Fri, May 15, 2009 at 11:50 AM, Seaborne, Andy
> > > <andy.seaborne@hp.com>
> > > > > wrote:
> > > > > > >> Monday PM end before 18:00 (GMT+1)
> > > > > > >> Thursday PM.
> > > > > > >> Tuesday @17:00 (GMT+1) for a short call; end before 17:30.
> > > > > >
> > > > > > I can't make the slot.
> > > > > >
> > > > > > Input: please consider interoperability of data between OWL and RDF.
> > > Option
> > > > > 1 is better for that than option 2 as Eric points out.
> > > > > >
> > > > > > This is also the least change to LC and IMHO is not a substantive
> change
> > > (it
> > > > > follows on from the current graph exchange intent) to add the text
> needed
> > > for
> > > > > SPARQL.  Roughly: the scoping graph of an rdf-text aware D-entailment
> for
> > > BGP
> > > > > matching includes the RDF forms and does not include ^^rdf:text.
> (Non-
> > > aware
> > > > > entailment regimes would merely treat as a datatype form.)
> > > > >
> > > > > does anyone oppose option 1 (plain literals are considered to satisfy
> > > > > entailments constrained to type rdf:text and entailments of type
> rdf:text
> > > are
> > > > > expressed as plain literals in the RDF graph)? (i'm wondering if we
> can
> > > work
> > > > > this out before we work out scheduling this phone call.)
> > > > >
> > > > >
> > > > > > 	Andy
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
> > > > > > > Sent: 19 May 2009 16:01
> > > > > > > To: Axel Polleres
> > > > > > > Cc: Seaborne, Andy; public-rdf-text@w3.org; Boris Motik; Sandro
> Hawke;
> > > > > > > eric@w3.orf
> > > > > > > Subject: Re: A summary of the proposal for resolving the issues
> with
> > > > > > > rdf:text --> Could you please check it one more time?
> > > > > > >
> > > > > > > On Mon, May 18, 2009 at 10:03 AM, Axel Polleres
> > > <axel.polleres@deri.org>
> > > > > > > wrote:
> > > > > > > > Alan, since you were calling for the TC, is that fixed now?
> > > > > > > > Otherwise, I am afraid it is not possible before Friday.
> > > > > > >
> > > > > > > Yes, let's have whoever can make it meet at 5:30 BST = 12:30
> Boston
> > > > > > > time.
> > > > > > > Zakim, meet on irc #rdftext for the code. I will send a code
> earlier
> > > if
> > > > > > > I can.
> > > > > > >
> > > > > > > -Alan
> > > > >
> > >
> 
> --
> -eric
> 
> office: +1.617.258.5741 32-G528, MIT, Cambridge, MA 02144 USA
> mobile: +1.617.599.3509
> 
> (eric@w3.org)
> Feel free to forward this message to any list for any purpose other than
> email address distribution.
Received on Wednesday, 20 May 2009 14:59:14 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:53:43 UTC