protected static void addDomainTypes(Model result, Model schema) { for (StmtIterator it = schema.listStatements(ANY, RDFS.domain, ANY); it.hasNext(); ) { Statement s = it.nextStatement(); Property property = s.getSubject().as(Property.class); RDFNode type = s.getObject(); for (StmtIterator x = result.listStatements(ANY, property, ANY); x.hasNext(); ) { Statement t = x.nextStatement(); result.add(t.getSubject(), RDF.type, type); } } }
private static void addIntersections(Model result, Model schema, Statement s) { Resource type = s.getSubject(); List<RDFNode> types = asJavaList(AssemblerHelp.getResource(s)); Set<Resource> candidates = subjectSet(result, ANY, RDF.type, types.get(0)); for (int i = 1; i < types.size(); i += 1) removeElementsWithoutType(candidates, (Resource) types.get(i)); addTypeToAll(type, candidates); }
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); }
public void testFindSubject() { StmtIterator iter = model.listStatements(new SimpleSelector(null, null, RDFS.Resource)); assertTrue(iter.hasNext()); Resource subject = iter.nextStatement().getSubject(); iter.close(); iter = model.listStatements(new SimpleSelector(subject, null, (RDFNode) null)); int i = 0; while (iter.hasNext()) { i++; Statement stmt = iter.nextStatement(); assertEquals(subject, stmt.getSubject()); } assertEquals(3, i); }
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); }
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); } }
/** * Add to <code>classes</code> the subject and object of the statement <code>xSubClassOfY</code>. */ private static void addClasses(Set<RDFNode> classes, Statement xSubClassOfY) { classes.add(xSubClassOfY.getSubject()); classes.add(xSubClassOfY.getObject()); }