/** * @param type * Whether statements to retrieve are anonymous or named. * @return A list of internal ID or URI (depending on <code>type</code>) representing every reified statements in the model */ public List<String> listReifiedStatements(final ResourceTypes type) { final List<String> idsOrUris = new ArrayList<String>(); if (type.equals(ResourceTypes.ANON)) { for (final ReifiedStatement rs : this.listReifStats(type)) { idsOrUris.add(rs.getId().getLabelString()); } } else if (type.equals(ResourceTypes.NAMED)) { for (final ReifiedStatement rs : this.listReifStats(type)) { idsOrUris.add(rs.getURI()); } } else { LogFactory.getLog(this.getClass()).warn("Error in listReifiedStatement " + "ResourceType was neither an " + "anon nor a named resource..."); } return idsOrUris; }
/** If _n_ is a ReifiedStatement, create a local copy of it, which will force the underlying reifier to take note of the mapping. */ private void noteIfReified( RDFNode n ) { if (n.canAs( ReifiedStatement.class )) { ReifiedStatement rs = n.as( ReifiedStatement.class ); createReifiedStatement( rs.getURI(), rs.getStatement() ); } }
/** * @param idOrUri * The internal ID or uri of the reified statement to retrieve * @param type * The type of reified statements to retrieve, i.e. anonymous or named. * @return The statement or <code>null</code>. */ protected ReifiedStatement getSpecifiedReifStat(final String idOrUri, final ResourceTypes type) { ReifiedStatement toRet = null; if (type.equals(ResourceTypes.ANON)) { for (final ReifiedStatement rs : this.listReifStats(type)) { if (rs.getId().getLabelString().equals(idOrUri)) { toRet = rs; break; } } } else { for (final ReifiedStatement rs : this.listReifStats(type)) { if (rs.getURI().equals(idOrUri)) { toRet = rs; break; } } } return toRet; }
/** * @param subj * The subject of the statement to be reified. * @param pred * The predicate of the statement to be reified. * @param obj * The object of the statement to be reified. * @param reifs * Properties and values to be affected to the reified statement. * @param uri * The uri (might be null) of the statement to create. */ protected String createReifiedStatement(final Resource subj, final Property pred, final RDFNode obj, final Map<Property, RDFNode> reifs, final String uri) { final ReifiedStatement rst; if (uri == null) { rst = this.model.createReifiedStatement(this.createStatement(subj, pred, obj, false)); } else { rst = this.model.createReifiedStatement(uri, this.createStatement(subj, pred, obj, false)); } for (final Entry<Property, RDFNode> entry : reifs.entrySet()) { rst.addProperty(entry.getKey(), entry.getValue()); } if (uri == null) { return rst.getId().getLabelString(); } return rst.getURI(); }