private static GraphTraversal<?, ?> matchProperty(final GraphTraversal<?, ?> traversal, final String propertyName, final PropertyType type, final Node object) { switch (propertyName) { case "id": return object.isConcrete() ? traversal.hasId(object.getLiteralValue()) : traversal.id().as(object.getName()); case "label": return object.isConcrete() ? traversal.hasLabel(object.getLiteralValue().toString()) : traversal.label().as(object.getName()); case "key": return object.isConcrete() ? traversal.hasKey(object.getLiteralValue().toString()) : traversal.key().as(object.getName()); case "value": return object.isConcrete() ? traversal.hasValue(object.getLiteralValue().toString()) : traversal.value().as(object.getName()); default: if (type.equals(PropertyType.PROPERTY)) { return traversal.properties(propertyName).as(object.getName()); } else { return object.isConcrete() ? traversal.values(propertyName).is(object.getLiteralValue()) : traversal.values(propertyName).as(object.getName()); } } } }
public boolean isConcrete() { return subject.isConcrete() && predicate.isConcrete() && object.isConcrete() && graph.isConcrete() ; }
protected boolean isConcrete(final Node n) { return n != null && n.isConcrete(); } }
private static boolean isConcrete(final Node n) { return nonNull(n) && n.isConcrete(); }
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.equals( x.pred ) : anyTriple; } };
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.equals( x.subj ) : anyTriple ; } };
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.sameValueAs( x.obj ) : anyTriple; } };
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.equals( x.pred ) : anyTriple; } };
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.equals( x.subj ) : anyTriple ; } };
@Override public Predicate<Triple> filterOn( final Node n ) { return n.isConcrete() ? x -> n.sameValueAs( x.obj ) : anyTriple; } };
@Override public final boolean contains(final KnowledgeBase kb, final GraphLoader loader, final Node subj, final Node pred, final Node obj) { final Node n = subj.isConcrete() ? obj : subj; return !getResults(kb, loader.node2term(n)).isEmpty(); }
private static int existsPath(Graph graph, Node subject, Path path, final Node object, ExecutionContext execCxt) { if ( ! subject.isConcrete() || !object.isConcrete() ) throw new ARQInternalErrorException("Non concrete node for existsPath evaluation") ; Iterator<Node> iter = PathEval.eval(graph, subject, path, execCxt.getContext()) ; Predicate<Node> filter = node -> Objects.equals(node, object); // See if we got to the node we're interested in finishing at. iter = Iter.filter(iter, filter) ; long x = Iter.count(iter) ; return (int)x ; } }
@Override public final ExtendedIterator<Triple> find(final KnowledgeBase kb, final PelletInfGraph openllet, final Node subj, final Node pred, final Node obj) { final Node n = subj.isConcrete() ? obj : subj; final Set<ATermAppl> results = getResults(kb, openllet.getLoader().node2term(n)); return subj.isConcrete() ? objectFiller(subj, pred, results) : subjectFiller(results, pred, obj); } }
@Override public Iterator<Quad> find(Node g, Node s, Node p, Node o) { return g.isConcrete() ? findInOneGraph(g, s, p, o) : concat(findNG(ANY, s, p, o), findInOneGraph(defaultGraphIRI, s, p, o)); }
@Override public Iterator<Quad> findNG(Node g, Node s, Node p, Node o) { return g.isConcrete() ? findInOneGraph(g, s, p, o) : concat(map(listGraphNodes(), gn -> findInOneGraph(gn, s, p, o))); }
public void testConcrete() { assertTrue( NodeCreateUtils.create( "S" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "_P" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "11" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "'hello'" ).isConcrete() ); assertFalse( NodeCreateUtils.create( "??" ).isConcrete() ); assertFalse( NodeCreateUtils.create( "?x" ).isConcrete() ); }
public void testConcrete() { assertTrue( NodeCreateUtils.create( "S" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "_P" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "11" ).isConcrete() ); assertTrue( NodeCreateUtils.create( "'hello'" ).isConcrete() ); assertFalse( NodeCreateUtils.create( "??" ).isConcrete() ); assertFalse( NodeCreateUtils.create( "?x" ).isConcrete() ); }
public static boolean isSet(Item item) { if ( item.isNode() ) { if ( item.getNode().isConcrete() ) return true ; } if (item.equals(TERM) ) return true ; if (item.equals(URI) ) return true ; if (item.equals(BNODE) ) return true ; if (item.equals(LITERAL) ) return true ; return false ; }
@Override public Resource inModel( Model m ) { return getModel() == m ? this : isAnon() ? m.createResource( getId() ) : asNode().isConcrete() == false ? (Resource) m.getRDFNode( asNode() ) : m.createResource( getURI() ); }
@Override public Resource inModel( Model m ) { return getModel() == m ? this : isAnon() ? m.createResource( getId() ) : asNode().isConcrete() == false ? (Resource) m.getRDFNode( asNode() ) : m.createResource( getURI() ); }