[ 
https://issues.apache.org/jira/browse/JENA-1370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16078294#comment-16078294
 ] 

Andy Seaborne commented on JENA-1370:
-------------------------------------

Hi Daan, You may get on better asking on users@jena to reach a wider audience.

Checking, it looks like Delta use a "contains" check which is value sensitive 
for memory graphs.

But not all graphs - 

{noformat}
        Graph oldGraph = DatasetGraphFactory.createTxnMem().getDefaultGraph();
        Graph newGraph = DatasetGraphFactory.createTxnMem().getDefaultGraph();
{noformat}

There is a certain amount of inconsistency arising from competing requirements. 
 Value processing _and_ also preserving the original form, which amounts to 
having triple counts reflect terms, leads to an over-constrained design space.  
I'm not sure what the right answer is.


> Exponent values 
> ----------------
>
>                 Key: JENA-1370
>                 URL: https://issues.apache.org/jira/browse/JENA-1370
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Jena
>    Affects Versions: Jena 3.2.0
>         Environment: Java 1.8, Ubuntu Linux (xenial)
>            Reporter: Daan Reid
>
> The equality between float values appears to be not working as I expected.
> Example code: 
> {code:java}
>   @Test
>   public void testDeltaSimple() throws Exception {
>     Graph oldGraph = GraphFactory.createGraphMem();
>     Graph newGraph = GraphFactory.createGraphMem();
>     // oldGraph:
>     // <http://example.com/subject> <http://example.com/property> 
> -1.700000e+00 ;
>     // newGraph: 
>     // <http://example.com/subject> <http://example.com/property> -1.7E0 ;
>     RDFDataMgr.read(oldGraph, "oldGraph.ttl");
>     RDFDataMgr.read(newGraph, "newGraph.ttl");
>     Delta delta = new Delta(oldGraph);
>     delta.clear();
>     GraphUtil.addInto(delta, newGraph);
>     if (!delta.isIsomorphicWith(oldGraph)) {
>       
> System.err.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
>       RDFDataMgr.write(System.err, delta.getAdditions(), Lang.TURTLE);
>       
> System.err.println("-------------------------------------------------------------------------------------");
>       RDFDataMgr.write(System.err, delta.getDeletions(), Lang.TURTLE);
>       fail("!!!!!!!!!!!!!!!!!!!!!! RDF not equal");
>     }
>   }
> {code}
> Result:
> {noformat}
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> -------------------------------------------------------------------------------------
> <http://example.com/subject>
>         <http://example.com/property>  -1.700000e+00 .
> java.lang.AssertionError: !!!!!!!!!!!!!!!!!!!!!! RDF not equal
> {noformat}
> If I start with an empty graph for oldGraph, the new double value is properly 
> added.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to