Re: possible compromise on rdf:XMLLiteral

Sandro Hawke:
> Jeremy Carroll:
>> This is the compromise proposal that I offered to put together.
>>
>> My belief is that this is unnecessary and I am happy with the documents
as
>> they are, complete with minor technical flaw. I would also be happy with
the
>> documents with this fix - but not if this change is one which puts at
risk
>> OWL reaching recommendation.
>>
>> I believe this proposal is a (small) technical improvement.
> ...
>> http://www.w3.org/TR/2003/PR-owl-test-20031215/#consistencyChecker
>> Add between the definition of "OWL Full consistency checker" and
"complete
>> OWL Lite consistency checker" a new paragraph as follows.
>> [[
>> The datatype map of an OWL Full consistency checker MUST also support
>> rdf:XMLLiteral from [RDF Concepts].
>> ]]
>
> I worry about the implementation burden here.  Jos, and other
> implementors of OWL Full consistency checkers: do you plan to
> implement support for XML Literal?  I'm not clear anymore what work is
> really entailed here.  I heard on the call that c14n equivalence was
> no longer needed, but that well-formedness-checking was.

First of all we assert the hopefully right N3 triples we get from Jena
e.g. for miscellaneous-204

####
first:fp a owl:FunctionalProperty.
first:fp a owl:DatatypeProperty.
_:6997089_3 a owl:Thing.
_:6997089_3 first:fp """<span xmlns=\"http://www.w3.org/1999/xhtml\"
xml:lang=\"en\">
        <b>Bad!</b></span>"""^^rdf:XMLLiteral.
_:6997089_3 first:fp """<span xmlns=\"http://www.w3.org/1999/xhtml\"
xml:lang=\"en\">
        <b>Good!</b></span>"""^^rdf:XMLLiteral.
####


Then for an inconsistency check we use for instance a rule like

####
{:xsdIx1 log:racine ?LR. ?P @has rdf:type owl:FunctionalProperty.
?X ?P ?A^^rdf:XMLLiteral, ?B^^rdf:XMLLiteral. ?A log:notEqualTo ?B}
=>
{{?P @has rdf:type owl:FunctionalProperty. ?X ?P ?A^^rdf:XMLLiteral,
?B^^rdf:XMLLiteral.
?A log:notEqualTo ?B} log:inconsistentWith owl:}.
####

Hm... log:inconsistentWith is not a well agreed property
but I had no other design; any suggestion maybe??


For the consistency checks we never pass but have to make
sure that we don't fail. That was initially the case for
miscellaneous-205 until we switched off above mentioned
rule (i.e. just not having it as an explicit assumption).


As further additional support for rdf:XMLLiteral we have
clash detection

//// Datatype.cs
  internal static bool Clash(String dt, String s) {
    if (s.StartsWith("\"\"\"")) return false;
    s = s.Substring(1, s.Length - 2);
    try {
      if (dt == RDFXMLLiteral) {
        XmlTextReader xr = new XmlTextReader(s, XmlNodeType.Element, null);
        while (xr.Read());
        xr.Close();
        return false;
      }
...
////

which is used for Pat's * marking of bnodes and in
inconsistency detection rules such as

####
{:rdfI1 log:racine ?LR. ?S a rdf:XMLLiteral; log:clashesWith
rdf:XMLLiteral}
=>
{{?S a rdf:XMLLiteral} log:inconsistentWith rdf:}.
####

Hm... same remark as above for log:clashesWith
but it works for instance for RDFCore test
<http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfs-entailment/Manifest>
in that it found
[iw:Variable "?O*";
= "<"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>]
(remark the * and also that the bnode label in a premis is a univar)
and it found the test to be inconsistent.
(we have a similar approach for some other 38 xsd primitive datatypes)

The implementation is incomplete but I just see that Jeremy
has extra nice open source code :)

--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Friday, 19 December 2003 16:59:51 UTC