- From: Steve Harris <steve.harris@garlik.com>
- Date: Mon, 16 Apr 2007 18:31:37 +0100
- To: dawg mailing list <public-rdf-dawg@w3.org>
Sorry, this is a bit late in the proceedings to be asking questions like this, but I've just hit something I don't follow. I have a bunch of data that has latitude and longitude values encoded as plain literals, like: [] :name "The Red Lion" ; :lat "-1.03" ; :long "51.2" . Yes, I know that's not ideal, but such is life. Now, if you want to FILTER on those values to narrow down, like: SELECT ?name WHERE { ?place :name ?name ; :lat ?lat ; :long ?long . FILTER(xsd:integer(?lat) = -1 && xsd:integer(?long) = 51) } it doesn't work. From my reading of http://www.w3.org/TR/xpath- functions/#casting-from-strings (which may well be flawed) it's an error to cast from "-1.03" to "-1"^^xsd:integer. I think you can do xsd:integer(xsd:double(?lat)) OK, but I don't think it will be obvious to many people why one is legal, and one is not. If that is the case. I'd be interested to know what other people's implementations do. Obviously the "right" solution is to fix the data. - Steve
Received on Monday, 16 April 2007 17:32:00 UTC