private static void update(Node node, PatternTriple elt) { if ( Var.isVar(node) ) { if ( node.equals(elt.subject.getNode()) ) elt.subject = PatternElements.TERM ; if ( node.equals(elt.predicate.getNode()) ) elt.predicate = PatternElements.TERM ; if ( node.equals(elt.object.getNode()) ) elt.object = PatternElements.TERM ; } }
private void addPatterns(Item predicate, double numProp) { double wSP = weightSP ; double wPO = weightPO ; wPO = Math.min(numProp, wPO) ; wSP = Math.min(numProp, wSP) ; if ( NodeConst.nodeRDFType.equals(predicate.getNode()) ) // ? rdf:type <Object> -- Avoid as can be very, very bad. wPO = weightTypeO ; addPatterns(predicate, numProp, wSP, wPO) ; }
private void addPatternsSmall(Item predicate, double numProp) { double wSP = weightSP_small ; double wPO = weightPO_small ; wPO = Math.min(numProp, wPO) ; wSP = Math.min(numProp, wSP) ; if ( predicate.isNode() && NodeConst.nodeRDFType.equals(predicate.getNode()) ) wPO = weightTypeO_small ; addPatterns(predicate, numProp, wSP, wPO) ; }
private static void update(Var var, Node value, PatternTriple elt) { if ( var.equals(elt.subject.getNode()) ) elt.subject = Item.createNode(value) ; if ( var.equals(elt.predicate.getNode()) ) elt.predicate = Item.createNode(value) ; if ( var.equals(elt.object.getNode()) ) elt.object = Item.createNode(value) ; } }
public long getInteger() { if ( ! isNode() ) throw new ItemException("Not a node, can't be an integer: "+this) ; if ( ! getNode().isLiteral() ) throw new ItemException("Not a literal, can't be a integer: "+this) ; //Integer.parseInt(getNode().getLiteralLexicalForm()) ; return ((Number)(getNode().getLiteralValue())).longValue() ; }
@Override public Path make(ItemList list) { BuilderLib.checkLength(2, 2, list, "path reverse link: wanted 1 argument") ; return new P_ReverseLink(list.get(1).getNode()) ; } };
@Override public Path make(ItemList list) { BuilderLib.checkLength(2, 2, list, "path link: wanted 1 argument") ; return new P_Link(list.get(1).getNode()) ; } };
public static List<Var> buildVars(ItemList list) { list = BuilderLib.skipTag(list, Tags.tagVars) ; List<Var> x = new ArrayList<>() ; for ( int i = 0 ; i < list.size() ; i++ ) { Item item = list.get(i) ; Var var = BuilderNode.buildVar(item) ; x.add(Var.alloc(item.getNode())); } return x ; }
private Path build(Item item) { if (item.isNode() ) { if ( item.getNode().isURI() ) return new P_Link(item.getNode()) ; BuilderLib.broken(item, "Attempt to build path from a plain node") ; } if (item.isSymbol() ) BuilderLib.broken(item, "Attempt to build path from a bare symbol") ; return build(item.getList()) ; }
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 ; }
public static Node buildNode(Item item) { if ( item.isSymbol("true") ) return NodeConst.nodeTrue ; if ( item.isSymbol("false") ) return NodeConst.nodeFalse ; if ( item.isSymbolIgnoreCase("ANY") || item.isSymbol("_") ) return Node.ANY; if ( !item.isNode() ) BuilderLib.broken(item, "Not a node", item) ; return item.getNode() ; }
public String shortString() { if ( isSymbol() ) return getSymbol(); if ( isNode() ) return FmtUtils.stringForNode(getNode()); return getList().shortString() ; } }
protected static Expr buildFunctionCall(ItemList list) { Item head = list.get(0) ; Node node = head.getNode() ; if ( node.isBlank() ) BuilderLib.broken(head, "Blank node for function call!") ; if ( node.isLiteral() ) BuilderLib.broken(head, "Literal node for function call!") ; ExprList args = buildExprListUntagged(list, 1) ; // Args return new E_Function(node.getURI(), args) ; }
private static void loadGraph(Graph graph, ItemList list) { BuilderLib.checkLength(2, list, Tags.tagLoad); Item item = list.get(1); if ( !item.isNode() ) BuilderLib.broken(item, "Expected: ("+Tags.tagLoad+" 'filename')"); String s = NodeUtils.stringLiteral(item.getNode()); if ( s == null ) BuilderLib.broken(item, "Expected: ("+Tags.tagLoad+" 'filename')"); Model model = ModelFactory.createModelForGraph(graph); FileManager.get().readModel(model, s); }