Dear all, I am Associate Professor at MINES Saint-Étienne, France, working on Semantic Web and Linked Data. I'd like to let you know about our project *Custom Datatypes for Quantity Values*[1], that leverages the Unified Code of Units of Measures, a code system intended to include all units of measures being contemporarily used in international science, engineering, and business. Using our UCUM Datatypes, one can encode and query quantity values in a lightweight manner:
PREFIX cdt: <http://w3id.org/lindt/custom_datatypes#> PREFIX ex: <http://example.org/> SELECT ?value1 ?value2 ?result WHERE{ VALUES ( ?value1 ?value2 ) { ( "1.0 m/s"^^cdt:speed "2 s"^^cdt:time ) } BIND( ?value1 * ?value2 AS ?result ) } Results in ---------------------------------------------------------------------- | value1 | value2 | result | ====================================================================== | "1.0 m/s"^^cdt:speed | "2 s"^^cdt:time | "2.0 m"^^cdt:length | See our demonstration online [2]. It uses *a fork of Jena where we implemented UCUM datatypes* [3] (in jena-core and jena-arq, with several unit tests) our implementation uses the recent JSR 385, Units of Measurement API 2.0, and the UCUM extension [4]. This is not the first project I develop into/using Jena. - I forked it to Supporting Arbitrary Custom Datatypes in RDF and SPARQL fetching some Javascript definition at the URI of the datatype [5] - I develop SPARQL-Generate, an extension of SPARQL implemented on ARQ to generate RDF from web documents in XML, JSON, CSV, HTML, CBOR, and plain text with regular expressions [6] If you agree we me that supporting UCUM datatypes would be a nice addition to Apache Jena and a nice contribution to the Semantic Web community, I would be willing to help to integrate our contribution to other modules (with jena-tdb, ... ), and help maintaining it in the future. Best regards, Maxime Lefrançois, Associate Professor, MINES Saint-Étienne [1] - http://w3id.org/lindt/custom_datatypes# [2] - http://w3id.org/lindt/playground.html?example=05-Multiply [3] - http://w3id.org/lindt/custom_datatypes#implementation [4] - https://github.com/unitsofmeasurement/uom-systems/tree/master/ucum-java8 [5] - https://ci.mines-stetienne.fr/lindt/spec.html [6] - https://ci.mines-stetienne.fr/sparql-generate/