public final class Graphs extends Object
Utilities for working with collections of RDF statements
.
Constructor and Description |
---|
Graphs() |
Modifier and Type | Method and Description |
---|---|
static Set<Statement> |
applyContext(Collection<Statement> theStatements,
Resource theContext)
Create a copy of the statements, modifying them, to apply the given context to each.
|
static List<Value> |
asList(Collection<Statement> theGraph,
Resource theRes)
Return the contents of the given list by following the `rdf:first`/`rdf:rest` structure of the list
|
static Set<Resource> |
contexts(Collection<Statement> theStatements) |
static boolean |
isList(Collection<Statement> theGraph,
Resource theRes)
Returns whether or not the given resource is a `rdf:List`
|
static boolean |
isomorphic(Iterable<? extends Statement> model1,
Iterable<? extends Statement> model2)
Compares two RDF models, and returns true if they consist of
isomorphic graphs and the isomorphic graph identifiers map 1:1 to each
other.
|
static Stream<Statement> |
matching(Iterable<Statement> theStmts,
StatementPattern thePattern)
Return all the
statements that match the pattern . |
static Set<Statement> |
named(Iterable<Statement> theStatements,
Resource theContext)
Apply the given context to all of the statements
|
static Optional<Value> |
object(Iterable<Statement> theStatements,
Resource theSubj,
IRI thePred)
Return the object for the given SP.
|
static Set<Value> |
objects(Collection<Statement> theStatements) |
static Set<IRI> |
predicates(Collection<Statement> theStatements) |
static Set<Resource> |
subjects(Collection<Statement> theStatements) |
static Stream<Resource> |
subjectsOfType(Iterable<Statement> theStatements,
IRI theClass) |
static Set<Statement> |
toList(List<Resource> theResources)
Return the contents of the list serialized as an RDF list
|
@Nonnull public static Set<Resource> subjects(@Nonnull Collection<Statement> theStatements)
@Nonnull public static Set<Resource> contexts(@Nonnull Collection<Statement> theStatements)
@Nonnull public static Set<Statement> applyContext(@Nonnull Collection<Statement> theStatements, @Nonnull Resource theContext)
theStatements
- the statementstheContext
- the new context@Nonnull public static Stream<Statement> matching(@Nonnull Iterable<Statement> theStmts, @Nonnull StatementPattern thePattern)
statements
that match the pattern
.theStmts
- the statementsthePattern
- the pattern to match@Nonnull public static Optional<Value> object(@Nonnull Iterable<Statement> theStatements, @Nonnull Resource theSubj, @Nonnull IRI thePred)
theStatements
- the statementstheSubj
- the subjectthePred
- the predicate@Nonnull public static Set<Statement> named(@Nonnull Iterable<Statement> theStatements, @Nonnull Resource theContext)
theStatements
- the graph of statementstheContext
- the context to applyStreamSupport
.stream(theStatements.spliterator(), false)
.map(stmt -> statement(stmt.subject(), stmt.predicate(), stmt.object(), theContext))
.collect(Collectors.toSet())
public static boolean isList(@Nonnull Collection<Statement> theGraph, @Nonnull Resource theRes)
theGraph
- the graphtheRes
- the resource to check@Nonnull public static List<Value> asList(@Nonnull Collection<Statement> theGraph, @Nonnull Resource theRes)
theGraph
- the graphtheRes
- the resource which is the head of the list@Nonnull public static Set<Statement> toList(@Nonnull List<Resource> theResources)
theResources
- the listpublic static boolean isomorphic(@Nonnull Iterable<? extends Statement> model1, @Nonnull Iterable<? extends Statement> model2)
A Model can consist of more than one graph (denoted by context identifiers). Two models are considered isomorphic if for each of the graphs in one model, an isomorphic graph exists in the other model, and the context identifiers of these graphs are either identical or (in the case of blank nodes) map 1:1 on each other.
Copyright © 2010-2016 Stardog Union. All Rights Reserved.