private void addToBNodes(RDFNode v) { if (v.isAnon()) m_BNodes.add(v); }
private void addToBNodes(RDFNode v) { if (v.isAnon()) m_BNodes.add(v); }
public static String nodeType(RDFNode resource) { if(resource==null) { return "unknown"; } else if(resource.isLiteral()) { return "literal"; } else if(resource.isAnon()) { return "blank node"; } else { return "URIRef"; } }
private static String typeOf( RDFNode x ) { return x.isAnon() ? "bnode" : x.isLiteral() ? "literal" : "resource"; }
private static List<String> toString(Set<? extends RDFNode> values) { List<String> strings = CollectionUtil.makeList(); int bNodeCount = 0; for( RDFNode value : values ) { if( value.isAnon() ) bNodeCount++; else strings.add( value.toString() ); } if( bNodeCount > 0 ) { strings.add( bNodeCount + " BNode(s)" ); } return strings; }
private static List<String> toString(Set<? extends RDFNode> values) { List<String> strings = CollectionUtil.makeList(); int bNodeCount = 0; for( RDFNode value : values ) { if( value.isAnon() ) { bNodeCount++; } else { strings.add( value.toString() ); } } if( bNodeCount > 0 ) { strings.add( bNodeCount + " BNode(s)" ); } return strings; }
public void addAllStatementsWithExistingBNodesOnly(List<Statement> stmts) { for (Statement stmt : stmts) { Resource s = stmt.getSubject(); if (s.isAnon() && !m_BNodes.contains(s)) continue; RDFNode o = stmt.getObject(); if (o.isAnon() && !m_BNodes.contains(o)) continue; addStatement(stmt); } }
public void addAllStatementsWithExistingBNodesOnly(List<Statement> stmts) { for (Statement stmt : stmts) { Resource s = stmt.getSubject(); if (s.isAnon() && !m_BNodes.contains(s)) continue; RDFNode o = stmt.getObject(); if (o.isAnon() && !m_BNodes.contains(o)) continue; addStatement(stmt); } }
private String getObjectURI( Statement s ) { RDFNode ob = s.getObject(); if (ob.isLiteral()) return AssemblerHelp.getString( s ); if (ob.isAnon()) throw new BadObjectException( s ); return ((Resource) ob).getURI(); }
private static String toString(RDFNode v) { if( v.isLiteral() ) return ((Literal) v).getLexicalForm(); else if( v.isAnon() ) return ANON_URI + v.asNode().getBlankNodeLabel(); else return ((Resource) v).getURI(); }
private static String toString(RDFNode v) { if( v.isLiteral() ) { return ((Literal) v).getLexicalForm(); } else if( v.isAnon() ) { return ANON_URI + v.asNode().getBlankNodeLabel(); } else { return ((Resource) v).getURI(); } }
/** * Extracts a List filled with the binding of selectElement variable for each * query solution, turned into a string (URIs or lexical forms). * Exhausts the result set. Create a rewindable one to use multiple times. * @see com.hp.hpl.jena.query.ResultSetFactory * */ public static List<String> resultSetToStringList(ResultSet rs, String selectElement, String literalOrResource) { List<String> items = new ArrayList<String>() ; while (rs.hasNext()) { QuerySolution qs = rs.nextSolution() ; RDFNode rn = qs.get(selectElement) ; if ( rn.isLiteral() ) items.add( ((Literal)rn).getLexicalForm() ) ; else if ( rn.isURIResource() ) items.add( ((Resource)rn).getURI() ) ; else if ( rn.isAnon() ) { items.add( ((Resource)rn).getId().getLabelString() ) ; } else throw new ARQException("Unknow thing in results : "+rn) ; } return items ; } }
/** * Extracts a List filled with the binding of selectElement variable for each * query solution, turned into a string (URIs or lexical forms). * Exhausts the result set. Create a rewindable one to use multiple times. * @see com.hp.hpl.jena.query.ResultSetFactory */ public static List<String> resultSetToStringList(ResultSet rs, String selectElement, String literalOrResource) { // feature suggested by James Howison List<String> items = new ArrayList<String>() ; while (rs.hasNext()) { QuerySolution qs = rs.nextSolution() ; RDFNode rn = qs.get(selectElement) ; if ( rn.isLiteral() ) items.add( ((Literal)rn).getLexicalForm() ) ; else if ( rn.isURIResource() ) items.add( ((Resource)rn).getURI() ) ; else if ( rn.isAnon() ) { items.add( ((Resource)rn).getId().getLabelString() ) ; } else throw new ARQException("Unknow thing in results : "+rn) ; } return items ; }
public static String getDisplayName(RDFNode node) { if (node == null) return "unknown"; else if (node.isAnon()) return "anon"; else if (node.isLiteral()) return node.asLiteral().getLexicalForm(); else if (node.isResource()) { Resource resource = node.asResource(); if (resource instanceof OntResource) { String label = ((OntResource) resource).getLabel(null); if (label != null) return label; } String localName = resource.getLocalName(); if ((localName != null) && !localName.isEmpty()) return localName; return resource.toString(); } else return "unknown"; }
public RDFNode rename( RDFNode n ) { if (n.isAnon()) return n; if (n.isLiteral()) return rename( (Literal) n ); Resource r = n.asResource(); String givenURI = r.getURI(); String uri = pe.rename( givenURI ); return uri == givenURI ? n : r.getModel().createResource( uri ); }
public static String getDisplayName(RDFNode node) { if (node == null) return "unknown"; else if (node.isAnon()) return "anon"; else if (node.isLiteral()) return node.asLiteral().getLexicalForm(); else if (node.isResource()) { Resource resource = node.asResource(); if (resource instanceof OntResource) { String label = ((OntResource) resource).getLabel(null); if (label != null) return label; } String localName = resource.getLocalName(); if ((localName != null) && !localName.isEmpty()) return localName; return resource.toString(); } else return "unknown"; }
private String object(RDFNode node) { if (node.isLiteral()) { Literal lit = node.asLiteral(); String text = lit.getString(); String lang = lit.getLanguage(); String type = lit.getDatatypeURI(); if (lang == null || "".equals(lang)) { lang = ""; } else { lang = " xml:lang='" + escapeXml(lang) + "'"; } if ("".equals(lang)) { if (type == null) { type = "http://www.w3.org/2001/XMLSchema#string"; } type = " datatype='" + escapeXml(type) + "'"; } else { type = ""; } return "<sem:object" + type + lang + ">" + escapeXml(text) + "</sem:object>"; } else if (node.isAnon()) { return "<sem:object>http://marklogic.com/semantics/blank/" + Long.toHexString( fuse(scramble((long)node.hashCode()),fuse(scramble(milliSecs),randomValue))) +"</sem:object>"; } else { return "<sem:object>" + escapeXml(node.toString()) + "</sem:object>"; } }
/** Attach a value to a property element. */ private Element giveValueToElement( Trail t, Element pe, RDFNode v ) { if (v.isLiteral()) { addLiteralToElement( pe, (Literal) v ); } else { Resource r = v.asResource(); if (inPlace( t, r )) { addIdentification( t, pe, r ); elementAddResource( t, pe, r ); } else if (RDFUtil.isList( r )) { for (RDFNode item: RDFUtil.asJavaList( r ) ) { appendValueAsItem( t, pe, item ); } } else if (r.listProperties().hasNext()) elementAddResource( t, pe, r ); else if (v.isAnon()) { if (needsId( v )) pe.setAttribute( "id", idFor( pe, r ) ); } else { pe.setAttribute( "href", r.getURI() ); } } return pe; }
/** * @param rs * The reified statement to look for object. * @param type * The type of the object. * @return The object (literal value, id or uri) or null if an error occurs */ protected String getReifiedStatementObject(final ReifiedStatement rs, final RDFNodeTypes type) { String toRet = null; final RDFNode obj = rs.getStatement().getObject(); if (type.equals(RDFNodeTypes.ANON_R) && obj.isAnon()) { toRet = ((Resource) obj).getId().getLabelString(); } else if (type.equals(RDFNodeTypes.LITERAL) && obj.isLiteral()) { toRet = ((Literal) obj).getLexicalForm(); } else if (type.equals(RDFNodeTypes.NAMED_R) && obj.isURIResource()) { toRet = ((Resource) obj).getURI(); } return toRet; }
/** * Returns a pair of models. The first contains any statement containing at * least one blank node. The second contains all remaining statements. * @param g * @return */ private Model[] separateStatementsWithBlankNodes(Graph g) { Model gm = ModelFactory.createModelForGraph(g); Model blankNodeModel = ModelFactory.createDefaultModel(); Model nonBlankNodeModel = ModelFactory.createDefaultModel(); StmtIterator sit = gm.listStatements(); while (sit.hasNext()) { Statement stmt = sit.nextStatement(); if (!stmt.getSubject().isAnon() && !stmt.getObject().isAnon()) { nonBlankNodeModel.add(stmt); } else { blankNodeModel.add(stmt); } } Model[] result = new Model[2]; result[0] = blankNodeModel; result[1] = nonBlankNodeModel; return result; }