/** assert is called every time a new statement within RDF data model is added */ public void addStatement(Statement s) throws ModelException { model.add(s); // Resource r = s.subject(); // System.out.println("CONSUMER SUBJECT " + r.getNamespace() + " --- " + r.getLocalName()); // new Exception().printStackTrace(System.out); }
/** Fills <tt>m</tt> with statements from <tt>s</tt> and returns it. */ public static Model toModel(Set s, Model m) throws ModelException { Iterator it = s.iterator(); while (it.hasNext()) { Object o = it.next(); if (o instanceof Statement) m.add((Statement) o); } return m; }
/** * @return a new model in which all occurrences of the old namespace are replaced by the new one. * All replaced resources are summarized in the map if not null. If resourcesToIgnore != null, * ignore resources listed there. */ public static Model replaceNamespace(Model m, String o, String n, Map o2n, Set resourcesToIgnore) throws ModelException { Model res = m.create(); NodeFactory f = m.getNodeFactory(); Enumeration en = m.elements(); while (en.hasMoreElements()) { Statement st = (Statement) en.nextElement(); res.add(replaceNamespace(st, o, n, f, o2n, resourcesToIgnore)); } return res; }
/** returns true if old triples from r were removed */ public static boolean setUniqueObject( Model r, Resource subject, Resource predicate, RDFNode object) throws ModelException { Model old = r.find(subject, predicate, null); SetOperations.subtract(r, old); Statement stmt = get1(old); if (subject == null && stmt != null) subject = stmt.subject(); if (predicate == null && stmt != null) predicate = stmt.predicate(); r.add(r.getNodeFactory().createStatement(subject, predicate, object)); return !old.isEmpty(); }
/** * @return a new model in which all occurrences of the old resources are replaced by the new ones. * Returns number replacements done. */ public static int replaceResources(Model m, Map o2n) throws ModelException { NodeFactory f = m.getNodeFactory(); Enumeration en = m.elements(); Model toRemove = m.create(); Model toAdd = m.create(); while (en.hasMoreElements()) { Statement st = (Statement) en.nextElement(); Statement st_n = replaceResources(st, f, o2n); if (st_n != st) { // yes, pointer comparison toAdd.add(st_n); toRemove.add(st); } } SetOperations.subtract(m, toRemove); SetOperations.unite(m, toAdd); return toAdd.size(); }
/** * @return a new model in which all occurrences of the old resources are replaced by the new ones. * Returns number replacements done. */ public static int replaceResources(Model src, Model dest, Map o2n) throws ModelException { NodeFactory f = src.getNodeFactory(); Enumeration en = src.elements(); int replaced = 0; while (en.hasMoreElements()) { Statement st = (Statement) en.nextElement(); Statement st_n = replaceResources(st, f, o2n); dest.add(st_n); if (st_n != st) // yes, pointer comparison replaced++; } return replaced; }
public static void add(Model m, Resource subject, Resource predicate, RDFNode object) throws ModelException { m.add(m.getNodeFactory().createStatement(subject, predicate, object)); }