Hi there, I'm running into some issues with Jena datatypes and canonicalization. The following doc:
https://jena.apache.org/documentation/tdb/value_canonicalization.html explains that TDB understands XML derived types, and that types derived from each other should all match their canonicalized value. I'm not sure this is what I'm seeing. I have some data in a TDB2 instance: <#example> <http://xmlns.com/foaf/0.1/age> "70"^^ http://www.w3.org/2001/XMLSchema#long . where the following query will match: (bgp (triple ?e <http://xmlns.com/foaf/0.1/age> "70"^^< http://www.w3.org/2001/XMLSchema#long>)) but neither of the following do: (bgp (triple ?e <http://xmlns.com/foaf/0.1/age> "70"^^< http://www.w3.org/2001/XMLSchema#int>)) (bgp (triple ?e <http://xmlns.com/foaf/0.1/age> "70"^^< http://www.w3.org/2001/XMLSchema#integer>)) I interpret the canonicalization doc to mean these three queries should be functionally equivalent. Have I misunderstood something? My other issue is that when I query for longs in the db, certain arithmetic operators will coerce results to `XSDDatatype/XSDinteger`, even if both operands are `XSDDatatype/XSDlong`: (extend ((?age-new (+ ?age "1"^^<http://www.w3.org/2001/XMLSchema#long>))) (bgp (triple ?e <http://xmlns.com/foaf/0.1/age> ?age))) Is this expected? I would have thought the Datatype would be preserved if possible. Thanks in advance! Zalan
