本文整理了Java中org.apache.clerezza.commons.rdf.Graph
类的一些代码示例,展示了Graph
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Graph
类的具体详情如下:
包路径:org.apache.clerezza.commons.rdf.Graph
类名称:Graph
暂无
代码示例来源:origin: org.apache.clerezza/platform.documentation
/**
* Adds triples that point from the bundle resource to its documentations.
*
* @param bundle
* @param docGraph
*/
private void addAdditionalTriples(Bundle bundle, Graph docGraph) {
IRI bundleUri = new IRI(bundle.getLocation());
Triple triple = new TripleImpl(bundleUri, RDF.type, OSGI.Bundle);
docGraph.add(triple);
Iterator<Triple> titledContents = docGraph.filter(null, RDF.type,
DISCOBITS.TitledContent);
Set<Triple> newTriples = new HashSet<Triple>();
for (Iterator<Triple> it = titledContents; it.hasNext();) {
BlankNodeOrIRI titledContent = it.next().getSubject();
if (docGraph.filter(null, DISCOBITS.holds, titledContent).hasNext()) {
continue;
}
triple = new TripleImpl(bundleUri, DOCUMENTATION.documentation,
titledContent);
newTriples.add(triple);
}
docGraph.addAll(newTriples);
}
代码示例来源:origin: org.apache.clerezza/rdf.core.test
@Test
public void testRemoveAllTriples() {
Graph graph = getEmptyGraph();
Assert.assertEquals(0, graph.size());
graph.add(new TripleImpl(uriRef1, uriRef2, uriRef3));
graph.add(new TripleImpl(uriRef2, uriRef3, uriRef4));
Assert.assertEquals(2, graph.size());
graph.clear();
Assert.assertEquals(0, graph.size());
}
代码示例来源:origin: org.apache.clerezza/rdf.core
@Override
public ImmutableGraph getImmutableGraph() {
return this.triples.getImmutableGraph();
}
代码示例来源:origin: org.apache.clerezza/platform.config
private BlankNodeOrIRI getPlatformInstanceRDFTerm() {
Lock l = systemGraph.getLock().readLock();
l.lock();
try {
Iterator<Triple> instances = systemGraph.filter(null, RDF.type, PLATFORM.Instance);
if (!instances.hasNext()) {
throw new RuntimeException("No Platform:Instance in system graph.");
}
return instances.next().getSubject();
} finally {
l.unlock();
}
}
代码示例来源:origin: org.apache.clerezza/rdf.core
private void removeExistingRequiredReadPermissions(IRI GraphUri,
Graph permissionMGraph) {
try {
Triple t = permissionMGraph.filter(GraphUri, readPermissionListProperty, null).next();
RDFTerm list = t.getObject();
removeList((BlankNodeOrIRI) list, permissionMGraph);
permissionMGraph.remove(t);
} catch (NoSuchElementException e) {
//There was no existing to remove
}
}
代码示例来源:origin: apache/stanbol
void removeMapping(OWLOntologyID ontologyReference) {
Iterator<Triple> it = graph.filter(buildResource(ontologyReference), MAPS_TO_GRAPH_URIREF, null);
// I expect a concurrent modification exception here, but we can deal with it later.
while (it.hasNext())
graph.remove(it.next());
}
代码示例来源:origin: org.apache.clerezza/rdf.core
/**
* Set the set of permissions required for read access to a triple-collection, if
* the set is non-empty the default TCPermisson is no longer required.
*
* @param GraphUri
* @param permissionDescriptions
*/
public void setRequiredReadPermissionStrings(IRI GraphUri,
Collection<String> permissionDescriptions) {
readPermissionCache.remove(GraphUri);
final Graph permissionMGraph = getOrCreatePermisionGraph();
Lock l = permissionMGraph.getLock().writeLock();
l.lock();
try {
removeExistingRequiredReadPermissions(GraphUri, permissionMGraph);
final BlankNodeOrIRI permissionList = createList(permissionDescriptions.iterator(), permissionMGraph);
permissionMGraph.add(new TripleImpl(GraphUri,
readPermissionListProperty, permissionList));
} finally {
l.unlock();
}
}
代码示例来源:origin: org.apache.clerezza/platform.usermanager
Graph systemGraph = getSystemGraph();
Literal javaPermEntry = new PlainLiteralImpl(permissionString);
Lock readLock = systemGraph.getLock().readLock();
readLock.lock();
try {
Iterator<Triple> javaPermTriples = systemGraph.filter(null,
PERMISSION.javaPermissionEntry, javaPermEntry);
if (javaPermTriples.hasNext()) {
return javaPermTriples.next().getSubject();
readLock.unlock();
Lock writeLock = systemGraph.getLock().writeLock();
writeLock.lock();
try {
BlankNode result = new BlankNode();
systemGraph.add(new TripleImpl(result,
PERMISSION.javaPermissionEntry, javaPermEntry));
return result;
代码示例来源:origin: apache/stanbol
@PUT
@Path("users/{username}")
@Consumes(SupportedFormat.TURTLE)
public Response createUser(@Context UriInfo uriInfo, @PathParam("username") String userName, ImmutableGraph inputGraph) {
Lock writeLock = systemGraph.getLock().writeLock();
writeLock.lock();
systemGraph.addAll(inputGraph);
writeLock.unlock();
UriBuilder uriBuilder = uriInfo.getBaseUriBuilder();
URI createdResource = uriBuilder.replacePath("/user-management/users/" + userName).build();
return Response.created(createdResource).build();
}
代码示例来源:origin: org.apache.clerezza/platform.usermanager
private void deletePermissionEntriesOfARole(BlankNodeOrIRI role,
String id, List<String> permissionEntries) {
AccessController.checkPermission(new SecurityPermission("getPolicy"));
if (role == null) {
logger.debug("Cannot delete permissions: {} does not exist", id);
return;
}
if (permissionEntries.isEmpty()) {
return;
}
Graph systemGraph = getSystemGraph();
Lock writeLock = systemGraph.getLock().writeLock();
writeLock.lock();
try {
for (String permissionEntry : permissionEntries) {
BlankNodeOrIRI permission = getPermissionOfAJavaPermEntry(permissionEntry);
systemGraph.remove(new TripleImpl(role, PERMISSION.hasPermission,
permission));
}
} finally {
writeLock.unlock();
}
//refresh the policy so it will recheck the permissions
Policy.getPolicy().refresh();
}
代码示例来源:origin: org.apache.clerezza/rdf.core.test
@Override
public Iterator<Triple> filter(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
LockChecker.checkIfReadLocked(lock);
readLock.lock();
try {
return new LockingIteratorForTesting(wrapped.filter(subject, predicate, object), lock);
} finally {
readLock.unlock();
}
}
代码示例来源:origin: apache/stanbol
/**
* @return the readLock or <code>null</code>if no read lock is needed
*/
private Lock readLockGraph() {
final Lock readLock;
readLock = graph.getLock().readLock();
readLock.lock();
return readLock;
}
/**
代码示例来源:origin: apache/stanbol
/**
* Internally used to create Representations for URIs
* @param uri the uri
* @param check if <code>false</code> than there is no check if the URI
* refers to a RDFTerm in the graph that is of type {@link #REPRESENTATION}
* @return the Representation
*/
protected final Representation getRepresentation(IRI uri, boolean check) {
final Lock readLock = readLockGraph();
try {
if(!check || isRepresentation(uri)){
Graph nodeGraph = createRepresentationGraph(uri, graph);
//Remove the triple internally used to represent an empty Representation
// ... this will only remove the triple if the Representation is empty
// but a check would take longer than the this call
nodeGraph.remove(new TripleImpl(uri,MANAGED_REPRESENTATION,TRUE_LITERAL));
return ((RdfValueFactory)getValueFactory()).createRdfRepresentation(uri, nodeGraph);
} else {
return null; //not found
}
} finally {
if(readLock != null){
readLock.unlock();
}
}
}
/**
代码示例来源:origin: org.apache.clerezza/rdf.utils
/**
* @return a ReadLock if the underlying ImmutableGraph is a LockableGraph it returns its lock, otherwise null
*/
public Lock readLock() {
return getGraph().getLock().readLock();
}
代码示例来源:origin: org.apache.clerezza/rdf.utils
/**
*
* @return
*/
public Lock writeLock() {
return (getGraph()).getLock().writeLock();
}
}
代码示例来源:origin: org.apache.stanbol/org.apache.stanbol.ontologymanager.multiplexer.clerezza
private void attachScopeImportsClerezza(Graph target, org.semanticweb.owlapi.model.IRI prefix) {
IRI iri = new IRI(prefix + _id);
String scopePrefix = prefix.toString();
scopePrefix = scopePrefix.substring(0, scopePrefix.lastIndexOf("/" + shortName + "/")) + "/ontology/";
for (String scopeID : attachedScopes) {
IRI physIRI = new IRI(scopePrefix + scopeID);
target.add(new TripleImpl(iri, OWL.imports, physIRI));
}
}
代码示例来源:origin: org.apache.clerezza/rdf.core.test
@Test
public void testUseTypedLiterals() {
Graph graph = getEmptyGraph();
Assert.assertEquals(0, graph.size());
Literal value = new TypedLiteralImpl("<elem>value</elem>",xmlLiteralType);
final TripleImpl triple1 = new TripleImpl(uriRef1, uriRef2, value);
graph.add(triple1);
Iterator<Triple> tripleIter = graph.filter(uriRef1, uriRef2, null);
Assert.assertTrue(tripleIter.hasNext());
RDFTerm gotValue = tripleIter.next().getObject();
Assert.assertEquals(value, gotValue);
}
代码示例来源:origin: org.apache.stanbol/org.apache.stanbol.ontologymanager.multiplexer.clerezza
void mapLocator(org.semanticweb.owlapi.model.IRI locator, IRI graphName) {
if (graphName == null) throw new IllegalArgumentException("A null graph name is not allowed.");
// Null locator is a legal argument, will remove all locator mappings from the supplied graph
Set<Triple> remove = new HashSet<Triple>();
for (Iterator<Triple> nodes = graph.filter(graphName, null, null); nodes.hasNext();) {
Triple t = nodes.next();
// isOntology |= RDF.type.equals(t.getPredicate()) && OWL.Ontology.equals(t.getObject());
if (RETRIEVED_FROM_URIREF.equals(t.getPredicate())) remove.add(t);
}
graph.removeAll(remove);
if (locator != null) {
Literal litloc = LiteralFactory.getInstance().createTypedLiteral(
new IRI(locator.toString()));
graph.add(new TripleImpl(graphName, RETRIEVED_FROM_URIREF, litloc));
}
}
代码示例来源:origin: org.apache.stanbol/org.apache.stanbol.ontologymanager.multiplexer.clerezza
OWLOntologyID getReverseMapping(IRI graphName) {
// Logical mappings first.
Iterator<Triple> it = graph.filter(null, MAPS_TO_GRAPH_URIREF, graphName);
while (it.hasNext()) {
RDFTerm obj = it.next().getSubject();
if (obj instanceof IRI) return buildPublicKey((IRI) obj);
}
Literal litloc = LiteralFactory.getInstance().createTypedLiteral(
new IRI(graphName.getUnicodeString()));
// Logical mappings failed, try physical mappings.
it = graph.filter(null, RETRIEVED_FROM_URIREF, litloc);
while (it.hasNext()) {
RDFTerm subj = it.next().getSubject();
if (subj instanceof IRI) return buildPublicKey((IRI) subj);
}
return null;
}
代码示例来源:origin: org.apache.stanbol/org.apache.stanbol.ontologymanager.multiplexer.clerezza
Set<OWLOntologyID> getVersions(org.semanticweb.owlapi.model.IRI ontologyIri) {
if (ontologyIri == null) throw new IllegalArgumentException("Cannot get versions for a null IRI.");
Set<OWLOntologyID> keys = new HashSet<OWLOntologyID>();
LiteralFactory lf = LiteralFactory.getInstance();
Literal iri = lf.createTypedLiteral(new IRI(ontologyIri.toString()));
// Exclude aliases.
for (Iterator<Triple> it = graph.filter(null, HAS_ONTOLOGY_IRI_URIREF, iri); it.hasNext();) {
RDFTerm sub = it.next().getSubject();
if (sub instanceof IRI) keys.add(buildPublicKey((IRI) sub));
}
// Also check for physical locations
for (Iterator<Triple> it = graph.filter(null, RETRIEVED_FROM_URIREF, iri); it.hasNext();) {
RDFTerm sub = it.next().getSubject();
if (sub instanceof IRI) keys.add(buildPublicKey((IRI) sub));
}
return keys;
}
内容来源于网络,如有侵权,请联系作者删除!