Refine search
if (r.hasProperty(VCARD4.hasName)) { StmtIterator nameIterator = r.listProperties(VCARD4.hasName); while (nameIterator.hasNext()) { Statement nameStatement = nameIterator.nextStatement(); Resource structuredNameResource = nameStatement.getResource(); structuredName.setFamily(structuredNameResource.getProperty(VCARD4.family_name).getString()); structuredNameResource.listProperties(VCARD4.hasHonorificPrefix).forEachRemaining( structuredNameResource.listProperties(VCARD4.hasHonorificSuffix).forEachRemaining( structuredNameResource.listProperties(VCARD4.hasAdditionalName).forEachRemaining( r.listProperties(VCARD4.hasEmail).forEachRemaining(emailStatement -> { emailResource.listProperties(RDF.type).forEachRemaining(typeProperty -> r.listProperties(VCARD4.hasTelephone).forEachRemaining(telephoneStatement -> { telephoneResource.listProperties(RDF.type).forEachRemaining(typeProperty -> .forEachRemaining(noteStatement -> .forEachRemaining(urlStatement -> .forEachRemaining(photoStatement ->
/** Checks if a {@link Resource} is a given type. **/ public static boolean isType(Resource resource, String type) { return resource.listProperties(RDF.type) .toList() .stream() .anyMatch(s -> s.getResource().getURI().equalsIgnoreCase(type)); }
public void testRoundTripping1() { Model m = ModelFactory.createDefaultModel(); Property startTime = m.createProperty("http://jena.hpl.hp.com/test#startTime"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MILLISECOND, 0); Literal xsdlit0 = m.createTypedLiteral(cal); Resource event = m.createResource(); event.addProperty(startTime, xsdlit0); StringWriter sw = new StringWriter(); m.write(sw); StringReader reader = new StringReader(sw.toString()); Model m1 = ModelFactory.createDefaultModel(); m1.read(reader, null); assertTrue( m.isIsomorphicWith(m1) ); Literal xsdlit1 = m1.listStatements().next().getObject().as(Literal.class); assertEquals(xsdlit0, xsdlit1); }
protected static void addRangeTypes( Model result, Model schema ) { Model toAdd = ModelFactory.createDefaultModel(); for (StmtIterator it = schema.listStatements( ANY, RDFS.range, ANY ); it.hasNext();) { Statement s = it.nextStatement(); RDFNode type = s.getObject(); Property property = s.getSubject().as( Property.class ); for (StmtIterator x = result.listStatements( ANY, property, ANY ); x.hasNext();) { RDFNode ob = x.nextStatement().getObject(); if (ob.isResource()) toAdd.add( (Resource) ob, RDF.type, type ); } } result.add( toAdd ); }
@Test public final void theresOneWithABNodeObject() { Model m = ModelFactory.createDefaultModel(); Resource anon = m.createResource(); m.createResource("http://example").addProperty(RDF.type, anon); StmtIterator it = m.listStatements(null, null, anon); final List<Statement> lis = it.toList(); Assert.assertTrue(lis.size() == 1); } }
public static List<Resource> getResourceProperties(Resource subject, Property predicate) { List<Resource> results = new LinkedList<>(); StmtIterator it = subject.listProperties(predicate); while(it.hasNext()) { Statement s = it.next(); if(s.getObject().isResource()) { results.add(s.getResource()); } } return results; }
protected static void addSubclassesFrom( Model result, Model schema ) { for (StmtIterator it = schema.listStatements( ANY, RDFS.subClassOf, ANY ); it.hasNext();) { Statement s = it.nextStatement(); if (s.getSubject().isURIResource() && s.getObject().isURIResource()) result.add( s ); } }
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; } }
private static List<Resource> equivalentTypes( Resource type ) { List<Resource> types = new ArrayList<>(); types.add( type ); for (StmtIterator it = type.getModel().listStatements( ANY, OWL.equivalentClass, type ); it.hasNext();) types.add( it.nextStatement().getSubject() ); return types; }
/** * Load the premises or conclusions for the test. */ public Model getDoc(Resource test, Property docType) throws IOException { Model result = ModelFactory.createDefaultModel(); StmtIterator si = test.listProperties(docType); while ( si.hasNext() ) { String fname = si.nextStatement().getObject().toString() + ".rdf"; loadFile(fname, result); } return result; }
private static void jenaread(String dataurl, String lang, String base) { dataurl = filename(dataurl) ; Model m1 = ModelFactory.createDefaultModel() ; Model m2 = ModelFactory.createDefaultModel() ; // This call RDFDataMgr.read(m1, dataurl, base, RDFLanguages.nameToLang(lang)) ; // should be an implementation of: m2.read("file:"+dataurl, base, lang) ; assertTrue(m1.size() != 0 ) ; assertTrue(m2.size() != 0 ) ; assertTrue(m1.isIsomorphicWith(m2)) ; // and check base processing ... Resource s = m1.listStatements().next().getSubject() ; assertTrue(s.getURI().startsWith("http://")) ; assertTrue(s.getURI().equals("http://baseuri/s")) ; } }
@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()) ; }
protected int countProperties(Resource r) { int numProp = 0 ; StmtIterator sIter = r.listProperties() ; for ( ; sIter.hasNext() ; ) { sIter.nextStatement() ; numProp++ ; } sIter.close() ; return numProp ; }
public static URI findFirstObjectUri(Model model, Property property, RDFNode object, boolean allowMultiple, boolean allowNone) { URI retVal = null; StmtIterator it = model.listStatements(null, property, object); if (!it.hasNext() && !allowNone) throw new IllegalArgumentException("expecting at least one triple"); if (it.hasNext()) { retVal = URI.create(it.nextStatement().getObject().asResource().toString()); } if (!allowMultiple && it.hasNext()) throw new IllegalArgumentException("not expecting more than one triple"); return retVal; }
public static MetricMapper createDefault() { Model model; try { model = RdfReaderFactory.createResourceReader("/org/aksw/rdfunit/dqv/metricMappings.ttl").read(); } catch (RdfReaderException e) { throw new IllegalArgumentException("Cannot read default metric mappings", e); } ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>(); model.listStatements().toList().stream() .filter(smt -> smt.getPredicate().equals(RDFUNITv.metric)) .filter(smt -> smt.getObject().isResource()) .forEach(smt -> builder.put(smt.getSubject().getURI(), smt.getObject().asResource().getURI())); return new MetricMapper(builder.build()); }
protected static void addSupertypes( Model result ) { Model temp = ModelFactory.createDefaultModel(); for (StmtIterator it = result.listStatements( ANY, RDF.type, ANY ); it.hasNext();) { Statement s = it.nextStatement(); Resource c = AssemblerHelp.getResource( s ); for (StmtIterator subclasses = result.listStatements( c, RDFS.subClassOf, ANY ); subclasses.hasNext();) { RDFNode type = subclasses.nextStatement().getObject(); // System.err.println( ">> adding super type: subject " + s.getSubject() + ", type " + type ); temp.add( s.getSubject(), RDF.type, type ); } } result.add( temp ); }
private Model rewriteInferences(Model inferences, String aliasURI) { if (aliasURI == null) { return inferences; } Model rewrite = ModelFactory.createDefaultModel(); Resource alias = ResourceFactory.createResource(aliasURI); StmtIterator sit = inferences.listStatements(); while(sit.hasNext()) { Statement stmt = sit.nextStatement(); rewrite.add(alias, stmt.getPredicate(), stmt.getObject()); } return rewrite; }
protected Content getInitialContent( Assembler a, Resource root ) { Model partial = ModelFactory.createDefaultModel(); Resource combined = partial.createResource(); for (StmtIterator it = root.listProperties( JA.initialContent ); it.hasNext();) transferContentProperties( partial, it.nextStatement().getResource(), combined ); return contentFromModel( a, root, partial, combined ); }
@Test public final void thereIsOneFrench() { final StmtIterator it = TestListStatements.m.listStatements( TestListStatements.s, TestListStatements.p, null, "fr"); final List<Statement> lis = it.toList(); Assert.assertTrue(lis.size() == 1); Assert.assertTrue(lis.get(0).getObject().toString().equals("texte@fr")); }
public void readKeyReferences(Model model, Set<String> keyRefs) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { Property typeProp = model.createProperty(Ontology.getSigIri(), "hasVerificationCertificate"); StmtIterator si = model.listStatements(null, typeProp, RdfUtils.EMPTY_RDF_NODE); if (si.hasNext()) { keyRefs.add(si.next().getObject().asResource().getURI()); } }