Re: "2"^^xsd:integer = "II"^^roman:numeral (useMentionOp, valueTesting)

On Mon, 2005-12-19 at 10:05 -0500, Eric Prud'hommeaux wrote:
> On Mon, Dec 19, 2005 at 09:02:59AM -0600, Dan Connolly wrote:
> > 
> > Interesting proposal; persuing it seems to involve
> > re-opening useMentionOp, which is perhaps a good thing.
> > http://www.w3.org/2001/sw/DataAccess/issues#useMentionOp
> 
> Do you have a test case that illustrates this?

er.. yes, the one in the subject line.

If you take this expression...
  "2"^^xsd:integer = "II"^^roman:numeral 

and you look the terms as being mentioned, clearly they're
different terms.

But if you look at the terms as being *used*, i.e. the =
thingy is testing what the terms denote, they're the same
value (though not all agents will know that).

It seems that the current = operator is sometimes using the
terms and sometimes mentioning them.

Your proposal seems to introduce different syntax for use
versus mention, which looks like a good iea.

I'm just noting that useMentionOp, a relevant issue, is currently
closed, and that if we adopt this proposal, that's an ammendment
to our decision on useMentionOp:

 RESOLVED: to use str(fn) to map URIs (and other things) to string and
=~ does not implicitly cast URIs to strings (nor do other operators).


> > On Mon, 2005-12-19 at 09:50 -0500, Eric Prud'hommeaux wrote:
> > > We seem to be stopped on the issue that
> > >   "2"^^xsd:integer != "II"^^roman:numeral
> > > will test true in a SPARQL implementation and false in an extended
> > > SPARQL implementation. This comes from the overloaded = operator:
> > >   numeric = numeric
> > >   RDF term = RDF term
> > > If the right side of the test is not recognized to be a numeric, the
> > > test is whether they are the same RDF term (clearly not). Adding
> > > roman:numeral support allows the right side to be numeric, and the
> > > value is the same left side.
> > > 
> > > PROPOSE: change
> > >   RDF term = RDF term
> > > to
> > >   sameTermAs(RDF term, RDF term)
> > > strike
> > >   RDF term != RDF term
> > > and strike
> > > [[
> > > When selecting the operator definition for a given set of parameters,
> > > the definition with the most specific parameters applies. For
> > > instance, when evaluating xsd:integer = xsd:signedInt, the definition
> > > for = with two numeric parameters applies, rather than the one with
> > > two RDF terms. The table is arranged so that upper-most viable
> > > candiate is the most specific.
> > > ]]
> 
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Monday, 19 December 2005 15:56:33 UTC