- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Mon, 27 Jul 2020 13:36:34 -0400
- To: semantic-web@w3.org
I wonder how your implementation does on some of the trickier comparisons in UCUM, such as :rad :angle "1 rad"^^cdt:angle . :radplus :angle "57.295779513082320876798154814105170332405472466564321549160254 deg"^^cdt:angle . :radminus :angle "57.295779513082320876798154814105170332405472466564321549160236 deg"^^cdt:angle . select * where { ?x :angle ?y . filter ( ?y >= "1 rad"^^cdt:angle ) } :au :length "149597870700 m"^^cdt:length . :auplus :length "149597870705 m"^^cdt:length . :auminus :length "149597870695 m"^^cdt:length . select * where { ?x :length ?y . filter ( ?y >= "1 AU"^^cdt:angle ) } peter On 7/27/20 12:34 PM, Maxime Lefrançois wrote: > Dear all, > > Let me try to catch up and answer some of the questions. > > I used the java ucum implementation [1] developed on top of the Indriya > reference implementation of JSR 385 [2] > > In Apache Jena it's easy to add the support of a new RDF datatype, but: > - I had to change some things inside ARQ to implement ordering, overload > arithmetic operators, etc. -> this is why our implementation is a fork of > Jena, and not a separate library. > - It would be harder and extremely unoptimized to parse datatype IRIs. > Still probably possible. I did something similar in [3] > > So yes @Graham, it's kind of being like https://xkcd.com/1425/ , > but to this I'd add: cdt:ucum is very simple, elegant, it suits our needs, > so I don't see the point of working on any alternative. > It was straightforward and quite fast to implement. This makes me think that > other RDF processors and SPARQL engines could support it soon. > UCUM has implementations for different programming languages > Python https://pypi.org/project/pyucum/ > NodeJS https://www.npmjs.com/package/@lhncbc/ucum-lhc > > I strongly believe that having too many alternatives would probably result > in confusion among the users, and work against a wider adoption. > > [1] https://github.com/unitsofmeasurement/uom-systems/tree/master/ucum > [2] https://www.jcp.org/en/jsr/detail?id=385 > [3] Maxime Lefrançois, Antoine Zimmermann, Supporting Arbitrary Custom > Datatypes in RDF and SPARQL, In Proc. Extended Semantic Web Conference, > ESWC, Heraklion, Crete, Greece, May 2016 > > Best regards, > Maxime Lefrançois > MINES Saint-Étienne > http://maxime-lefrancois.info/ > > > Le lun. 27 juil. 2020 à 18:00, David Booth <david@dbooth.org > <mailto:david@dbooth.org>> a écrit : > > On 7/25/20 8:41 AM, Hugh Glaser wrote: > > I would like the developers' world of tooling to stay as > > simple as it currently is. Which to me means anyone wanting > > one of these magic literals of any kind to be used in RDF, > > to provide not only the description for the literal, but > > also define how those literals should be represented in RDF. > > Agreed. I find the idea of rich literals quite intriguing, like the > excellent UCUM work by Antoine Zimmermann and Maxime Lefrançois just > discussed. > > I could see rich literals being quite helpful in making RDF easier to > use, provided that the literal<->RDF mapping is available. This mapping > requires two functions: one from a given literal to RDF, and the other > from RDF to literal. > > Ideally, these mapping functions should be defined "in-band" in the RDF > itself, so that data can always be self-describing, and all standard > tools would automatically support it, without depending on additional > software installation for each new rich literal type. > > Could N3 do this, given that it already has some executable rules > capability? Alternatively (or for improved performance), external > library functions could be provided out-of-band. > > David Booth >
Received on Monday, 27 July 2020 17:36:50 UTC