W3C home > Mailing lists > Public > public-cwm-bugs@w3.org > February 2008

Re: FW: cwm bug? xsd namespace

From: Yosi Scharf <syosi@MIT.EDU>
Date: Thu, 14 Feb 2008 11:13:12 -0500
To: "Booth, David (HP Software - Boston)" <dbooth@hp.com>
Cc: "public-cwm-bugs@w3.org" <public-cwm-bugs@w3.org>
Message-Id: <1203005592.8682.6.camel@mr-burns.w3.org>

What you are asking may be a bug. Before we get into that, let us give
another example, to show what cwm was trying to do.

Let us say you wrote a file
=======
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
{ ( "1"^^xsd:float 
    "2"^^xsf:NCNAME ) math:sum ?x} => {?x a :Foo} .
=======

what should it do? Cwm does not know how to add a float and an NCNAME,
indeed, what you gave was not a valid NCNAME. Therefore, the rule should
fail to fire.

Similarly, if you wrote
=======
@prefix xsd: <http://example/xsd#> .
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
{ ( "1"^^xsd:float 
    "2"^^xsf:int ) math:sum ?x} => {?x a :Foo} .
====
Then cwm does not know what a http://example/xsd#int is, or how it is
represented in a string, so it cowardly refuses to add it.

In essence --- datatypes cwm does not know it will not run builtins on. 

On the other hand, cwm treats a http://www.w3.org/2001/XMLSchema#anyURI
as being close enough to a string that string operations work on it.
Thus the difference.


Yosi




On Thu, 2008-02-14 at 07:54 +0000, Booth, David (HP Software - Boston)
wrote:
> Hi Yosi,
> 
> I don't know if this is a bug or not, but it sure seems odd, and it puzzled Sean
> Palmer too.  Depending on how the xsd namespace is declared, the rule below fires or doesn't fire.
> 
> --------------------------------------------
> 
> #  File: junk2.n3
> #  Test with:
> #       cwm junk2.n3 --think --strings
> # Gives the following with the right xsd namespace:
> #       FIRED base: http://example#aaa ex:p2 bbb
> # Gives no output if the example namespace is used.
> #
> #  Hmm, cwm seems to have special knowledge of the xsd namespace.
> # If I declare it like this then the rule below fires,
> # but if I declare it with an http://example namespace, it doesn't.
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
> # @prefix xsd: <http://example/xsd#> .
> 
> @prefix ex: <http://example/httpspec#> .
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix string: <http://www.w3.org/2000/10/swap/string#> .
> 
> "http://example#aaa"^^xsd:anyURI ex:p1 <http://example#bbb> .
> 
> {       ?u ex:p1 ?reply .
>         ("FIRED base: " ?u " ex:p2 "
>                 ?reply "\n") string:concatenation ?fired .
> } =>    {
>         ?u ex:p2 ?reply .
>         # Debugging:
>         "a" log:outputString ?fired .
>         } .
> 
> --------------------------------------------------
> 
> 
> David Booth, Ph.D.
> HP Software
> +1 617 629 8881 office  |  dbooth@hp.com
> http://www.hp.com/go/software
> 
> Opinions expressed herein are those of the author and do not represent the official views of HP unless explicitly stated otherwise.
> 
Received on Thursday, 14 February 2008 16:19:35 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:52:01 UTC