[
https://issues.apache.org/jira/browse/JENA-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16099026#comment-16099026
]
Elie Roux commented on JENA-1377:
---------------------------------
That's very interesting... I'm tempted to see it as a major flaw in the RDF
spec, but that's not Jena's responsibility, I'll try to discuss this aspect in
other places. I'd like to use {{RDFParserBuilder.canonicalLiterals}} but I'm
clearly missing something about which the doc is completely silent... Here is
an incomplete code I don't manage to complete :
{noformat}
Model model = ModelFactory.createDefaultModel();
StreamRDF out = ?????? // get a stream going to the model
RDFParser parser = RDFParser.create()
.source(filename)
.lang(RDFLanguages.JSONLD)
.canonicalLiterals(true)
.parse(out);
{noformat}
how can I parse a file into a model with streams? Is it possible? If not, is
there a way to canonicalize literals when reading from a file into a model?
Thank you!
> Model.isIsomorphicWith() returns false when language tags case do not match
> ---------------------------------------------------------------------------
>
> Key: JENA-1377
> URL: https://issues.apache.org/jira/browse/JENA-1377
> Project: Apache Jena
> Issue Type: Bug
> Components: Core
> Affects Versions: Jena 3.3.0
> Environment: Linux
> Reporter: Elie Roux
>
> Model.isIsomorphicWith() treats language tags in a case-sensitive way, which
> is against BCP47 spec. It is easily shown with an example:
> {noformat}
> Model m1 = ModelFactory.createDefaultModel();
> Resource r = m1.getResource("http://example.com/resource");
> Property p = m1.getProperty("http://example.com/property");
> m1.add(r, p, m1.createLiteral("example", "zh-Latn-pinyin")); //
> canonical
> Model m2 = ModelFactory.createDefaultModel();
> r = m2.getResource("http://example.com/resource");
> p = m2.getProperty("http://example.com/property");
> m2.add(r, p, m1.createLiteral("example", "zh-latn-pinyin")); //
> lower case
> System.out.println(m1.isIsomorphicWith(m2));
> {noformat}
> prints false, while it clearly should print true. Related bug (which is not
> really a bug per se, just a trigger for this one:
> https://github.com/jsonld-java/jsonld-java/issues/199
> See also https://issues.apache.org/jira/browse/COMMONSRDF-51 for some
> consideration of the language tag case.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)