public void visit(P_NegPropSet pathNotOneOf) { if ( pathNotOneOf.getBwdNodes().size() > 0 ) Log.warn(this, "Only forward negated property sets implemented") ; // X !(:a|:b|^:c|^:d) Y = { X !(:a|:b) Y } UNION { Y !(:c|:d) X } List<Node> props = pathNotOneOf.getFwdNodes() ; if ( props.size() == 0 ) throw new ARQException("Bad path element: Negative property set found with no elements") ; //Iterator<Node> nodes = doOneExclude(pathNotOneOf.getFwdNodes(), pathNotOneOf.getBwdNodes()) ; Iterator<Node> nodes = doOneExclude(pathNotOneOf.getFwdNodes()) ; fill(nodes) ; }
@Override protected void doNegatedPropertySet(P_NegPropSet pathNotOneOf, Node node, Collection<Node> output) { // X !(:a|:b|^:c|^:d) Y = { X !(:a|:b) Y } UNION { Y !(:c|:d) X } if ( pathNotOneOf.getFwdNodes().size() > 0 ) { Iterator<Node> nodes1 = stepExcludeForwards(graph, node, pathNotOneOf.getFwdNodes()) ; fill(nodes1, output) ; } if ( pathNotOneOf.getBwdNodes().size() > 0 ) { Iterator<Node> nodes2 = stepExcludeBackwards(graph, node, pathNotOneOf.getBwdNodes()) ; fill(nodes2, output) ; } }
public void visit(P_NegPropSet pathNotOneOf) { // X !(:a|:b|^:c|^:d) Y = { X !(:a|:b) Y } UNION { Y !(:c|:d) X } if ( pathNotOneOf.getFwdNodes().size() > 0 ) { Iterator<Node> nodes1 = doOneExcludeForwards(pathNotOneOf.getFwdNodes()) ; fill(nodes1) ; } if ( pathNotOneOf.getBwdNodes().size() > 0 ) { Iterator<Node> nodes2 = doOneExcludeBackwards(pathNotOneOf.getBwdNodes()) ; fill(nodes2) ; } }
@Override protected void doNegatedPropertySet(P_NegPropSet pathNotOneOf, Node node, Collection<Node> output) { if ( pathNotOneOf.getFwdNodes().size() > 0 ) { Iterator<Node> nodes1 = stepExcludeForwards(graph, node, pathNotOneOf.getFwdNodes()) ; fill(nodes1, output) ; } if ( pathNotOneOf.getBwdNodes().size() > 0 ) { Iterator<Node> nodes2 = stepExcludeBackwards(graph, node, pathNotOneOf.getBwdNodes()) ; fill(nodes2, output) ; } }
@Override protected void doNegatedPropertySet(P_NegPropSet pathNotOneOf, Node node, Collection<Node> output) { // X !(:a|:b|^:c|^:d) Y = { X !(:a|:b) Y } UNION { Y !(:c|:d) X } if ( pathNotOneOf.getFwdNodes().size() > 0 ) { Iterator<Node> nodes1 = stepExcludeForwards(graph, node, pathNotOneOf.getFwdNodes()) ; fillUnique(nodes1, output) ; } if ( pathNotOneOf.getBwdNodes().size() > 0 ) { Iterator<Node> nodes2 = stepExcludeBackwards(graph, node, pathNotOneOf.getBwdNodes()) ; fillUnique(nodes2, output) ; } }
@Override public void visit(P_NegPropSet p) { try { List<Node> fwd = p.getFwdNodes(); List<Node> bwd = p.getBwdNodes(); int numberOfForwardProps = fwd.size();
@Override public void visit(P_NegPropSet p) { List<Node> fwd = p.getFwdNodes(); List<Node> bwd = p.getBwdNodes(); ElementGroup group = new ElementGroup(); fwdGroup.addElement(fwdElt); fwdGroup.addElementFilter(new ElementFilter(new E_NotEquals(getExpr(subject), getExpr(object)))); for (Node n: p.getFwdNodes()) { Expr exp = getExpr(n); E_NotEquals neq = new E_NotEquals(new ExprVar(fwdpred),exp); eqGroup.addElementFilter(new ElementFilter(new E_Equals(getExpr(subject), getExpr(object)))); Set<Node> alreadySeen = HashSetFactory.make(); for (Node n: p.getFwdNodes()) { if (alreadySeen.add(n)) { Expr exp = getExpr(n); e.addTriple(fwdtriple); group.addElement(e); for (Node n : p.getFwdNodes()) { Expr exp = getExpr(n); E_NotEquals neq = new E_NotEquals(new ExprVar(fwdpred),exp);