Refine search
/** * Find the next result triple and bind the result vars appropriately. * @param interpreter the calling interpreter whose trail should be used * @return false if there are no more matches in the iterator. */ public boolean nextMatch(LPInterpreter interpreter) { if (matchIterator.hasNext()) { lastMatch = matchIterator.next(); return true; } else { return false; } }
/** Get exactly one triple or null for none or more than one. */ public static Triple triple1(Graph graph, Node s, Node p, Node o) { ExtendedIterator<Triple> iter = graph.find(s, p, o); try { if ( !iter.hasNext() ) return null; Triple t = iter.next(); if ( iter.hasNext() ) return null; return t; } finally { iter.close(); } }
/** * <p>Answer the property that is the inverse of this property. If no such property is defined, * return null. If more than one inverse is defined, return an arbitrary selection.</p> * @return The property that is the inverse of this property, or null. */ @Override public OntProperty getInverse() { ExtendedIterator<OntProperty> i = listInverse(); OntProperty p = i.hasNext() ? i.next() : null; i.close(); return p; }
/** * <p>Answer the property that is the inverse of this property. If no such property is defined, * return null. If more than one inverse is defined, return an arbitrary selection.</p> * @return The property that is the inverse of this property, or null. */ @Override public OntProperty getInverse() { ExtendedIterator<OntProperty> i = listInverse(); OntProperty p = i.hasNext() ? i.next() : null; i.close(); return p; }
private static Node getObject(Graph graph, Node n, Node predicate) { ExtendedIterator<Triple> iter = graph.find(n, predicate, Node.ANY) ; try { if ( ! iter.hasNext() ) // None. return null ; Triple t = iter.next() ; if ( iter.hasNext() ) // Too many. return null ; return t.getObject() ; } finally { iter.close() ; } }
@Override public boolean contains(Node s, Node p, Node o) { // Do direct for efficiency. if ( ! base.contains(s,p,o) ) return false; // May have matched by value. Do a term test find to restrict to RDF terms. ExtendedIterator<Triple> iter = find(s, p, o); boolean b = iter.hasNext(); iter.close(); return b; }
private RDFNode getOrCompute(RDFNode key, Map<RDFNode,RDFNode> values, NodeExpressionContext context) { return values.computeIfAbsent(key, k -> { ExtendedIterator<RDFNode> it = comparator.eval(key, context); if(it.hasNext()) { RDFNode result = it.next(); it.close(); return result; } else { return null; } }); }
private static Node getObject(Graph graph, Node n, Node predicate) { ExtendedIterator<Triple> iter = graph.find(n, predicate, Node.ANY) ; try { if ( ! iter.hasNext() ) // None. return null ; Triple t = iter.next() ; if ( iter.hasNext() ) // Too many. return null ; return t.getObject() ; } finally { iter.close() ; } }