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

Andy Seaborne resolved JENA-1789.
---------------------------------
    Fix Version/s: Jena 3.14.0
       Resolution: Fixed

> IsoMatcher can return "true" for non-isomorphic patterns.
> ---------------------------------------------------------
>
>                 Key: JENA-1789
>                 URL: https://issues.apache.org/jira/browse/JENA-1789
>             Project: Apache Jena
>          Issue Type: Bug
>    Affects Versions: Jena 3.13.1
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>            Priority: Major
>             Fix For: Jena 3.14.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> This should be false but it returns true:
> {noformat}
>     public static void main(String[] args) {
>         Graph graph1 = SSE.parseGraph("(graph (?A :p1 ?B) (?B :p2 ?A))");
>         Graph graph2 = SSE.parseGraph("(graph (?A :p1 ?B) (?A :p2 ?B))");
>         IsoMatcher match = new IsoMatcher(tuplesTriples(graph1.find()), 
> tuplesTriples(graph2.find()),
>                                           new 
> BNodeIsoWithVar(NodeUtils.sameValue));
>         boolean b = match.match();
>         System.out.println();
>         System.out.println("IsoMatcher: "+b);
>     }
> {noformat}
> BNodeIsoWithVar has the lines:
> {noformat}
>             if ( n1.isVariable() && n2.isVariable() )
>                 return mapping.makeIsomorphic(n1, n2) ;
> {noformat}
> added.
> The bnode for variables case also fails.
> {noformat}
>         graph1 = SSE.parseGraph("(graph (<_:a> :p1 <_:b>) (<_:b> :p2 
> <_:a>))");
>         graph2 = SSE.parseGraph("(graph (<_:a> :p1 <_:b>) (<_:a> :p2 
> <_:b>))");
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to