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

Re: rdf:text review

From: Axel Polleres <axel.polleres@deri.org>
Date: Wed, 29 Apr 2009 15:51:03 +0100
Message-ID: <49F86957.80607@deri.org>
To: "Seaborne, Andy" <andy.seaborne@hp.com>
CC: 'RDF Data Access Working Group' <public-rdf-dawg@w3.org>
Andy,

we seem to be almost there from my side. I just was tempted to 
relativize 1/ as well, since I believe it is likewise remedied by 
resorting to D-entailment effects only.
Do you agree?

As for 2/ and 3/, I am fine. We have to revisse the current response 
text accordingly, only started with that so far.

Axel

Seaborne, Andy wrote:
> 
>> -----Original Message-----
>> From: Axel Polleres [mailto:axel.polleres@deri.org]
>> Sent: 28 April 2009 16:58
>> To: Seaborne, Andy
>> Cc: Bijan Parsia; 'RDF Data Access Working Group'
>> Subject: Re: rdf:text review
> ...
> 
> 
>> Essentially, I think STR/LANG/DATATYPE shall behave exactly the same for
>> simple entailment as they do at the moment, and we don't want to
>> redefine them
>> To your examples:
> 
> Reading through these, I tried to extract the principle being used to decide the value of a function.  Am I right to see you treating DATATYPE/LANG/STR as stressing their role as accessing the syntactic?  This seems like a good model we can work through with the entailment regime.
> 
> So we have for the reply:
> 
> 1/ rdf:text MUST NOT appear is SPARQL XML results.
> 
> Generalises the RDF graph exchange to include SPARQL results.
> 
> 2/ rdf:text is a D-entailment and is accessed by SPARQL a BGP entailment regime.
> 
> 3/ Functions STR/DATATYPE/LANG act strictly on the lexical forms.
> 
> Do we need to says at (2) that matches coming out of the rdf:text entailment matching must be treated in their RDF forms?  That would maximize compatibility.
> 
> 
> 
> ----
> Discussion below.
> 
>>> == DATATYPE of a literal with language tag
>>>
>>> SPARQL/2008: DATATYPE ("Padre de familia"@es) ==> error
>> with simple entailment that should indeed remain:
>>
>>    DATATYPE("Padre de familia"@es) ==> error
>>
>> with D-entailment entailment any triple with a literal
>>    "Padre de familia"@es
>> would also entail a triple with
>>    "Padre de familia@es"^^rdf:text
>> thus:
>>
>>    DATATYPE("Padre de familia@es"^^rdf:text) ==> rdf:text
> 
> One point - it's assuming the that the entailment is exposing both forms, or the RDF form, to retain compatibility with simple-entailment.  To put it another way, results under simple-entailment remain true and new possibilities now occur.
> 
> Modulo cardinality of results, this nearly works.  Lang tags disappear if the rdf:text form is exposed.  Maybe there will need to be a condition on the rdf:text-enatilments to expose the RDF form.  Not sure of the long term effects of that (c.f. SPARQL/OWL, SPARQL/RIF).
> 
> One particular example which is in value-space, not in the lexical form:
> 
> FILTER("") is false 
> 
> (Effective Boolean Value of the empty string is false in XSD - it's a special case SPARQL inherits from F&O).
> 
> But FILTER("@"^^rdf:text) is error (and hence false but further combining is messed up).
> 
> Seems liveable with but EricP is the expert here.  The rdf:text-entailment can also say how it modified the operator table in sec 11.3 (it's got to anyway).
> 
> 
>>> == DATATYPE of a literal without language tag
>>>
>>> SPARQL/2008 defines: DATATYPE ("Padre de familia") ==> xs:string
>> This is actually intersting in the current speec, since it implies
>> "some" datatype "reasoning" is done in SPARQL already for plain
>> literals, but my personal suggestion would be (depends whether the
>> others in the WG agree) we shouldn't mess around with that, i.e. keep it
>> like that but not extend that towards rdf:text.
>>
>>> I don't know what rdf:text says here: two possibilities:
>>>
>>> DATATYPE ("Padre de familia") ==> rdf:text ?? xs:string ??
>> Again, with D-entailment entailment any triple with a literal
>>    "Padre de familia"
>> would also entail a triple with
>>    "Padre de familia@"^^rdf:text
>> thus:
>>    DATATYPE("Padre de familia@"^^rdf:text) ==> rdf:text
> 
> This one will depend on whether rdf:text-entailment exposes the "...@"^^rdf:text or ".." forms when DATATYPE is treated as a syntactic accessor.
> 
> Same point for LANG and STR
> 
> 	Andy
> 
>>> because one value space is a subset of the other.
>>>
>>> The reason for rdf:text is the uniform treatment of literals so the
>>> query to find all the untyped literals ("untyped" meaning as per the
>>> current SPARQL REC - without type - simple literal or literal with
>>> language tag) might be changed.
>> since both RIF and OWL respect datatypes, this uniform treatment is be
>> guaranteed, IMO.
>>
>>> == LANG
>>>
>>> In RDF, a literal has either a language tag or a datatype but not
>>> both.  So:
>>>
>>> SPARQL/2008: Lang("Padre de familia"@es) ==> "es" but Lang("Padre de
>>> familia@es"^^rdf:text) ==> ""
>>>
>>> rdf:text: Lang("Padre de familia@es"^^rdf:text) ==> ??
>>>
>>> c.f. rtfn:lang-from-text(Padre de familia@es"^^rdf:text) ==> "es"
>> Same as before (note that Lang() is not the same as rtfn:lang-from-
>> text()!)
>>
>> So
>>
>>    Lang("Padre de familia@es"^^rdf:text) ==> ""
>>
>>    Lang("Padre de familia"@es) ==> "es"
>>
>> However, again, with D-entailment entailment any triple with a literal
>>
>>    "Padre de familia"@es"
>>
>> would also entail a triple with
>>
>>    "Padre de familia@es"^^rdf:text
>>
>> and vice versa.
>>
>>
>>> == STR
>>>
>>> rdf:text is a datatype with lexical space including the language tag
>>>
>>>
>>> SPARQL/2008 defines: STR("Padre de familia@es"^^rdf:text) ==> "Padre
>>> de familia@es" STR("Padre de familia"@es) ==> "Padre de familia"
>>>
>>> rdf:text: STR("Padre de familia@es"^^rdf:text) ==> "Padre de familia"
>>> ??
>>>
>>> because STR returns the lexical form.
>>>
>>> The lexical space of literals with language tags is changed by
>>> rdf:text.
>>
>>   STR should again behave like defined, i.e. it should extract the
>> lexical form, i.e.
>>
>>    STR("Padre de familia@es"^^rdf:text) ==> "Padre de familia@es"
>>
>> Note again that Str() is not the same as rtfn:string-from-text()!)
>>
>> Summary: I think that, as long as datatype reasoning is not considered,
>> the situation is quite clear, as soon as we say that the semantic
>> implications of rdf:text only affect D-entailment.
>>
>> best,
>> Axel
>>
>>
>> --
>> Dr. Axel Polleres
>> Digital Enterprise Research Institute, National University of Ireland,
>> Galway
>> email: axel.polleres@deri.org  url: http://www.polleres.net/


-- 
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland, 
Galway
email: axel.polleres@deri.org  url: http://www.polleres.net/
Received on Wednesday, 29 April 2009 14:51:44 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:38 GMT