[ 
https://issues.apache.org/jira/browse/JENA-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elie Roux updated JENA-1377:
----------------------------
    Description: 
Model.isIsomorphicWith() treats language tags in a case-sensitive way, which is 
against BCP47 spec. It is easily shown with an example:

           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));

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.

  was:
Model.isIsomorphicWith() treats language tags in a case-sensitive way, which is 
against BCP47 spec. It is easily shown with an example:

{{           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));}}

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.


> 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:
>            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));
> 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)

Reply via email to