[ https://issues.apache.org/jira/browse/JENA-1478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16352615#comment-16352615 ]
A. Soroka commented on JENA-1478: --------------------------------- 1. [~jaco0646] never confirmed whether my work on JENA-1391 was good for him, but I think you are right. Please do go ahead. I'll open a ticket for myself to write more tests for the subclasses of {{DyadicDatasetGraph}}. 2. I didn't come to a real understanding of transactional behavior for views, period, and certainly not specifically for {{DyadicDatasetGraph}}, but certainly, {{null}} returns there are not cool. The question was: if one side is in {{READ}}, because the client opened a transaction on the view, and the other side is not (perhaps blocked waiting to get a lock) what is the right value here? It's not {{READ}} because the view is _not_ in a transaction at all. I'm happy for whatever you think is more "ergonomic" for the user. Maybe throw a very specific exception? But that feels like a terrible response to a reasonable query by the user… > DifferenceDatasetGraph.contains > ------------------------------- > > Key: JENA-1478 > URL: https://issues.apache.org/jira/browse/JENA-1478 > Project: Apache Jena > Issue Type: Bug > Affects Versions: Jena 3.6.0 > Reporter: Andy Seaborne > Priority: Major > Fix For: Jena 3.7.0 > > > (Assuming "difference is set-difference" not symmetric difference") > defined "contains" as > {noformat} > public boolean contains(Node g, Node s, Node p, Node o) { > return both(dsg -> dsg.contains(g, s, p, o)); > } > {noformat} > This should be: > {noformat} > public boolean contains(Node g, Node s, Node p, Node o) { > return getLeft().contains(g, s, p, o) && ! getRight().contains(g, s, p, > o); > } > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)