static GraphTraversal<?, ?> transform(final Triple triple) { final GraphTraversal<Vertex, ?> matchTraversal = __.as(triple.getSubject().getName()); final Node predicate = triple.getPredicate(); final String uri = predicate.getURI(); final String uriValue = Prefixes.getURIValue(uri); final String prefix = Prefixes.getPrefix(uri); switch (prefix) { case "edge": return matchTraversal.out(uriValue).as(triple.getObject().getName()); case "property": return matchProperty(matchTraversal, uriValue, PropertyType.PROPERTY, triple.getObject()); case "value": return matchProperty(matchTraversal, uriValue, PropertyType.VALUE, triple.getObject()); default: throw new IllegalStateException(String.format("Unexpected predicate: %s", predicate)); } }
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()); } } } }
protected String labelForVar(Node node) { return "?"+node.getName() ; } @Override
@Override public void formatVar(AWriter w, Node n) { formatVar(w, n.getName()) ; } }
private Node resolveParameterization(final Node node) { if (node == null) throw new NullPointerException("Node is null"); if (_initialBinding == null) throw new NullPointerException("Initial binding is null"); if (node.isConcrete()) return node; final RDFNode binding = _initialBinding.get(node.getName()); if (binding == null) return node; return binding.asNode(); } }
public static boolean isRenamedVar(Node node) { return node.isVariable() && isRenamedVar(node.getName()) ; }
public void addResultVar(Node v) { if ( !v.isVariable() ) throw new QueryException("Not a variable: "+v) ; _addResultVar(v.getName()) ; }
private void initVars() { _vars = new LinkedHashSet<>(); for (int i = 0; i < _pattern.size(); i++) { final Triple t = _pattern.get(i); if (ARQParser.isDistinguishedVariable(t.getSubject())) _vars.add(t.getSubject().getName()); if (t.getPredicate().isVariable()) _vars.add(t.getPredicate().getName()); if (ARQParser.isDistinguishedVariable(t.getObject())) _vars.add(t.getObject().getName()); } }
/** * A variable-aware version of NodeValue.makeNode(Node node) * * @param node * @return */ public static Expr makeNode(Node node) { Expr result = node.isVariable() ? new ExprVar(node.getName()) : NodeValue.makeNode(node); return result; }
@Override public void visit(OpGraph opGraph) { if (opGraph.getNode().isVariable()) action(opGraph.getNode().getName()); }
@Override public void visit(OpDatasetNames dsNames) { if (dsNames.getGraphNode().isVariable()) action(dsNames.getGraphNode().getName()); }
/** Transform node then create a {@link ExprVar} or {@link NodeValue}. */ private Expr transform(Node input) { Node n = transform.apply(input); if ( n == null ) throw new InternalErrorException("NodeTransform creates a null"); if ( ! Var.isVar(n) ) return NodeValue.makeNode(n); String name = Var.alloc(n).getVarName(); return new ExprVar(n.getName()); } }
public void testCreateVariable() { String V = "wobbly"; Node v = NodeCreateUtils.create( "?" + V ); assertTrue( "must be a variable", v.isVariable() ); assertEquals( "name must be correct", V, v.getName() ); }
public void testCreateVariable() { String V = "wobbly"; Node v = NodeCreateUtils.create( "?" + V ); assertTrue( "must be a variable", v.isVariable() ); assertEquals( "name must be correct", V, v.getName() ); }
public void testVariables() { assertFalse( "variable nodes aren't blank", NodeFactory.createVariable( N ).isBlank() ); assertFalse( "variable nodes aren't literal", NodeFactory.createVariable( N ).isLiteral() ); assertFalse( "variable nodes aren't URIs", NodeFactory.createVariable( N ).isURI() ); assertTrue( "variable nodes are variable", NodeFactory.createVariable( N ).isVariable() ); assertEquals( "variable nodes keep their name", N, NodeFactory.createVariable( N ).getName() ); assertEquals( "variable nodes keep their name", N + "x", NodeFactory.createVariable( N + "x" ).getName() ); }
public void testVariables() { assertFalse( "variable nodes aren't blank", NodeFactory.createVariable( N ).isBlank() ); assertFalse( "variable nodes aren't literal", NodeFactory.createVariable( N ).isLiteral() ); assertFalse( "variable nodes aren't URIs", NodeFactory.createVariable( N ).isURI() ); assertTrue( "variable nodes are variable", NodeFactory.createVariable( N ).isVariable() ); assertEquals( "variable nodes keep their name", N, NodeFactory.createVariable( N ).getName() ); assertEquals( "variable nodes keep their name", N + "x", NodeFactory.createVariable( N + "x" ).getName() ); }
/** test that the label of a Node can be retrieved from that Node in a way appropriate to that Node. */ public void testLabels() { BlankNodeId id = BlankNodeId.create(); assertEquals( "get URI value", U, NodeFactory.createURI( U ).getURI() ); assertEquals( "get blank value", id, NodeFactory.createBlankNode( id ).getBlankNodeId() ); assertEquals( "get literal value", L, NodeFactory.createLiteral( L ).getLiteral() ); assertEquals( "get variable name", N, NodeFactory.createVariable( N ).getName() ); }
/** test that the label of a Node can be retrieved from that Node in a way appropriate to that Node. */ public void testLabels() { BlankNodeId id = BlankNodeId.create(); assertEquals( "get URI value", U, NodeFactory.createURI( U ).getURI() ); assertEquals( "get blank value", id, NodeFactory.createBlankNode( id ).getBlankNodeId() ); assertEquals( "get literal value", L, NodeFactory.createLiteral( L ).getLiteral() ); assertEquals( "get variable name", N, NodeFactory.createVariable( N ).getName() ); }