public ResourceImpl(AnonId id, ModelCom m) { this( NodeFactory.createBlankNode( id.getLabelString() ), m ); }
public ResourceImpl(AnonId id, ModelCom m) { this( NodeFactory.createBlankNode( id.getLabelString() ), m ); }
@Override public Optional<String> asIri() { if (this.rdfNode.isResource()) { Resource resource = rdfNode.asResource(); String uri = resource.getURI(); return uri == null ? Optional.of(resource.getId().getLabelString()) : Optional.of(uri); } else { return Optional.empty(); } }
/** * 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 org.apache.jena.query.ResultSetFactory */ public static List<String> resultSetToStringList(ResultSet rs, String selectElement, String literalOrResource) { // feature suggested by James Howison List<String> items = new ArrayList<>() ; 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 ; }
/** * Return the lexial representation of a node. For a literal, this will be the content, for a URI node it will be the * URI itself, and for a blank node it will be the identifier of the node. * * @param rdfNode * @return */ @Override public String stringValue(RDFNode rdfNode) { if(isLiteral(rdfNode)) { return ((Literal)rdfNode).getString(); } else if(isURI(rdfNode)) { return ((Resource)rdfNode).getURI(); } else if(isBlank(rdfNode)) { return ((Resource)rdfNode).getId().getLabelString(); } else { return rdfNode.toString(); } }
private String toCell(RDFNode rdfNode) { if( rdfNode == null){ return ""; }else if( rdfNode.isLiteral() ){ return rdfNode.asLiteral().getLexicalForm(); }else if( rdfNode.isResource() ){ Resource resource = (Resource)rdfNode; if( ! resource.isAnon() ){ return resource.getURI(); }else{ return resource.getId().getLabelString(); } }else{ return rdfNode.toString(); } }
static protected String nodeToString( RDFNode node ){ if( node == null ){ return ""; }else if( node.isLiteral() ){ Literal literal = node.asLiteral(); return literal.getLexicalForm(); }else if( node.isURIResource() ){ Resource resource = node.asResource(); return resource.getURI(); }else if( node.isAnon() ){ Resource resource = node.asResource(); return resource.getId().getLabelString(); //get b-node id }else{ return ""; } }
public static Object nodeToObject( RDFNode node ){ if( node == null ){ return ""; }else if( node.isLiteral() ){ Literal literal = node.asLiteral(); return literal.getValue(); }else if( node.isURIResource() ){ Resource resource = node.asResource(); return resource.getURI(); }else if( node.isAnon() ){ Resource resource = node.asResource(); return resource.getId().getLabelString(); //get b-node id }else{ return ""; } }
static protected String nodeToString( RDFNode node ){ if( node == null ){ return ""; }else if( node.isLiteral() ){ Literal literal = node.asLiteral(); return literal.getLexicalForm(); }else if( node.isURIResource() ){ Resource resource = node.asResource(); return resource.getURI(); }else if( node.isAnon() ){ Resource resource = node.asResource(); return resource.getId().getLabelString(); //get b-node id }else{ return ""; } }
static protected Object nodeToObject( RDFNode node ){ if( node == null ){ return ""; }else if( node.isLiteral() ){ Literal literal = node.asLiteral(); return literal.getValue(); }else if( node.isURIResource() ){ Resource resource = node.asResource(); return resource.getURI(); }else if( node.isAnon() ){ Resource resource = node.asResource(); return resource.getId().getLabelString(); //get b-node id }else{ return ""; } }
public static String nodeToString( RDFNode node ){ if( node == null ){ return ""; }else if( node.isLiteral() ){ Literal literal = node.asLiteral(); return literal.getLexicalForm(); }else if( node.isURIResource() ){ Resource resource = node.asResource(); return resource.getURI(); }else if( node.isAnon() ){ Resource resource = node.asResource(); return resource.getId().getLabelString(); //get b-node id }else{ return ""; } }
@Test public void testAddWithBNodes() { final Model model = ModelFactory.createDefaultModel(); final Resource newBNode = ResourceFactory.createResource(AnonId.create().getLabelString()); final int oldSize = _model.getStatements().size(); final List<Statement> statements = Arrays.asList(model.createStatement((Resource) _bNodes[0], _predicates[0], _bNodes[1]), model.createStatement(newBNode, _predicates[0], _bNodes[0]), model.createStatement((Resource) _bNodes[0], _predicates[0], newBNode)); _model.addAllStatementsWithExistingBNodesOnly(statements); assertEquals(oldSize + 3, _model.getStatements().size()); // assertEquals( newBNode, _model.getUniqueObject( // (Resource)_BNodes[0], _predicates[0] ) ); // assertNull( _Model.getUniqueObject( newBNode, predicates[0] ) ); } }
@Test public void blankNodes1() { String s = "_:a <http://example/p> 'foo' . " ; StringReader r = new StringReader(s) ; Model m = ModelFactory.createDefaultModel() ; RDFDataMgr.read(m, r, null, RDFLanguages.TURTLE) ; assertEquals(1, m.size()) ; String x = m.listStatements().next().getSubject().getId().getLabelString() ; assertNotEquals(x, "a") ; // reset - reread - new bNode. r = new StringReader(s) ; RDFDataMgr.read(m, r, null, RDFLanguages.TURTLE) ; assertEquals(2, m.size()) ; }
@Test public void nt_reader_twice() { String s = "_:a <p> 'foo' . "; StringReader r = new StringReader(s); Model m = ModelFactory.createDefaultModel(); RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES); assertEquals(1, m.size()); String x = m.listStatements().next().getSubject().getId().getLabelString(); assertNotEquals(x, "a"); // reset - reread - new bNode. r = new StringReader(s); RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES); assertEquals(2, m.size()); }
private static String rdfNodeAsString(final RDFNode rdfNode) { String result = null; if (rdfNode.isURIResource()) { String uri = rdfNode.asResource().getURI(); result = enclose(uri, "<", ">"); } else if (rdfNode.isLiteral()) { result = enclose(rdfNode.asLiteral().getLexicalForm(), "\"", "\""); if (rdfNode.asLiteral().getDatatypeURI() != null) { result = enclose(result, "", "^^" + "<" + rdfNode.asLiteral().getDatatypeURI() + ">"); } else if (rdfNode.asLiteral().getLanguage() != null && !rdfNode.asLiteral().getLanguage().isEmpty()) { result = enclose(result, "", "@" + rdfNode.asLiteral().getLanguage()); } } else if (rdfNode.isAnon()) { result = enclose(rdfNode.asResource().getId().getLabelString(), "_:", ""); } else { // TODO It might need to be improved as some syntax cases might not be covered so far // a collection?? throw new UnsupportedOperationException("support missing for converting: " + rdfNode.toString()); } return result; }
@Test public void testContains() { final Resource newBNode = ResourceFactory.createResource(AnonId.create().getLabelString()); assertFalse(_model.containsStatement(newBNode, _predicates[0], newBNode)); for (final Statement statement : _statements) assertTrue(_model.containsStatement(statement.getSubject(), statement.getPredicate(), statement.getObject())); }