Package org.nuxeo.ecm.platform.relations
Class CoreGraph
- java.lang.Object
-
- org.nuxeo.ecm.platform.relations.CoreGraph
-
- All Implemented Interfaces:
Serializable
,Graph
public class CoreGraph extends Object implements Graph
Relation graph implementation delegating to the core.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
CoreGraph.NodeAsString
Only one of those is filled.protected class
CoreGraph.ResourceFinder
protected class
CoreGraph.SizeFinder
protected class
CoreGraph.StatementAdder
protected class
CoreGraph.StatementFinder
protected class
CoreGraph.StatementRemover
static class
CoreGraph.Subjects
Fake Node type used to pass down multiple nodes into whereBuilder.
-
Field Summary
Fields Modifier and Type Field Description protected static Statement
ALL
static String
BLANK_NS
static String
COMMENT_NAMESPACE
Has no final slash (compat).static String
DC_CREATED
static String
DC_CREATOR
static String
DC_DESCRIPTION
static String
DC_MODIFIED
static String
DC_TITLE
static String[]
DOC_NAMESPACES
protected String
docType
static String
DOCUMENT_NAMESPACE
static String
DOCUMENT_NAMESPACE2
Without final slash (compat).protected static List<Statement>
EMPTY_STATEMENTS
protected String
name
List<String>
namespaceList
Map<String,String>
namespaces
static String
OPTION_DOCTYPE
static String
REL_PREDICATE
static String
REL_SOURCE_ID
static String
REL_SOURCE_URI
static String
REL_TARGET_ID
static String
REL_TARGET_STRING
static String
REL_TARGET_URI
static String
REL_TYPE
protected CoreSession
session
static Pattern
SPARQL_PO_S
static Pattern
SPARQL_S_PO
static Pattern
SPARQL_SPO_PO
-
Constructor Summary
Constructors Constructor Description CoreGraph(CoreSession session)
A graph with this base session.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(List<Statement> statements)
Adds given list of Statement objects to the graph.void
add(Statement statement)
Adds the statement object to the graph.void
clear()
Clears the graph, removing all statements in it.protected static String
getAuthor(Statement statement)
protected static String
getComment(Statement statement)
protected static Date
getCreationDate(Statement statement)
protected static Date
getDateProperty(Statement statement, Resource prop)
protected static String
getDefaultRepositoryName()
protected static Date
getModificationDate(Statement statement)
Map<String,String>
getNamespaces()
Returns namespaces for the graph.protected static CoreGraph.NodeAsString
getNodeAsString(Node node)
List<Node>
getObjects(Node subject, Node predicate)
Gets items matching the statement pattern (subject, predicate, null).List<Node>
getPredicates(Node subject, Node object)
Gets items matching the statement pattern (subject, null, object).List<Statement>
getStatements()
Returns all statements in the graph.List<Statement>
getStatements(Node subject, Node predicate, Node object)
Returns all statements in the graph matching the pattern.List<Statement>
getStatements(Statement statement)
Returns all statements in the graph matching the pattern.protected static String
getStringProperty(Statement statement, Resource prop)
List<Node>
getSubjects(Node predicate, Node object)
Get items matching the statement pattern (null, predicate, object).boolean
hasResource(Resource resource)
Returns true if given resource appears in any statement of the graph.boolean
hasStatement(Statement statement)
Returns true if given statement pattern is in the graph.protected static String
localNameToId(String localName)
QueryResult
query(String queryString, String language, String baseURI)
Query the graph using a base URI.int
queryCount(String queryString, String language, String baseURI)
Counts the number of results of a query.boolean
read(InputStream in, String lang, String base)
Parses source into the graph.boolean
read(String path, String lang, String base)
Parses source into the graph.void
remove(List<Statement> statements)
Removes given list of Statement objects from the graph.void
remove(Statement statement)
Removes the statement object from the graph.protected static void
setAuthor(Statement statement, String author)
protected static void
setComment(Statement statement, String comment)
protected static void
setCreationDate(Statement statement, Calendar created)
protected static void
setDateProperty(Statement statement, Resource prop, Calendar date)
void
setDescription(GraphDescription graphDescription)
Sets the graph description.protected static void
setModificationDate(Statement statement, Calendar modified)
protected void
setOptions(Map<String,String> options)
protected static void
setStringProperty(Statement statement, Resource prop, String string)
Long
size()
Returns the number of statements in the graph.protected String
whereBuilder(String query, Statement statement)
boolean
write(OutputStream out, String lang, String base)
Serializes graph.boolean
write(String path, String lang, String base)
Serializes graph.
-
-
-
Field Detail
-
OPTION_DOCTYPE
public static final String OPTION_DOCTYPE
- See Also:
- Constant Field Values
-
REL_TYPE
public static final String REL_TYPE
- See Also:
- Constant Field Values
-
REL_PREDICATE
public static final String REL_PREDICATE
- See Also:
- Constant Field Values
-
REL_SOURCE_ID
public static final String REL_SOURCE_ID
- See Also:
- Constant Field Values
-
REL_SOURCE_URI
public static final String REL_SOURCE_URI
- See Also:
- Constant Field Values
-
REL_TARGET_ID
public static final String REL_TARGET_ID
- See Also:
- Constant Field Values
-
REL_TARGET_URI
public static final String REL_TARGET_URI
- See Also:
- Constant Field Values
-
REL_TARGET_STRING
public static final String REL_TARGET_STRING
- See Also:
- Constant Field Values
-
DC_CREATED
public static final String DC_CREATED
- See Also:
- Constant Field Values
-
DC_CREATOR
public static final String DC_CREATOR
- See Also:
- Constant Field Values
-
DC_MODIFIED
public static final String DC_MODIFIED
- See Also:
- Constant Field Values
-
DC_TITLE
public static final String DC_TITLE
- See Also:
- Constant Field Values
-
DC_DESCRIPTION
public static final String DC_DESCRIPTION
- See Also:
- Constant Field Values
-
BLANK_NS
public static final String BLANK_NS
- See Also:
- Constant Field Values
-
DOCUMENT_NAMESPACE
public static final String DOCUMENT_NAMESPACE
- See Also:
- Constant Field Values
-
DOCUMENT_NAMESPACE2
public static final String DOCUMENT_NAMESPACE2
Without final slash (compat).
-
COMMENT_NAMESPACE
public static final String COMMENT_NAMESPACE
Has no final slash (compat).- See Also:
- Constant Field Values
-
DOC_NAMESPACES
public static final String[] DOC_NAMESPACES
-
ALL
protected static final Statement ALL
-
session
protected CoreSession session
-
name
protected String name
-
docType
protected String docType
-
SPARQL_SPO_PO
public static final Pattern SPARQL_SPO_PO
-
SPARQL_PO_S
public static final Pattern SPARQL_PO_S
-
SPARQL_S_PO
public static final Pattern SPARQL_S_PO
-
-
Constructor Detail
-
CoreGraph
public CoreGraph(CoreSession session)
A graph with this base session. An unrestricted session will be opened based on it.
-
-
Method Detail
-
setDescription
public void setDescription(GraphDescription graphDescription)
Description copied from interface:Graph
Sets the graph description.- Specified by:
setDescription
in interfaceGraph
-
getNamespaces
public Map<String,String> getNamespaces()
Description copied from interface:Graph
Returns namespaces for the graph.Namespaces are prefix/namespace bindings, as rdf for http://www.w3.org/1999/02/22-rdf-syntax-ns#.
- Specified by:
getNamespaces
in interfaceGraph
- Returns:
- namespaces map of namespace bindings for the graph
-
size
public Long size()
Description copied from interface:Graph
Returns the number of statements in the graph.
-
clear
public void clear()
Description copied from interface:Graph
Clears the graph, removing all statements in it.
-
add
public void add(Statement statement)
Description copied from interface:Graph
Adds the statement object to the graph.
-
add
public void add(List<Statement> statements)
Description copied from interface:Graph
Adds given list of Statement objects to the graph.
-
remove
public void remove(Statement statement)
Description copied from interface:Graph
Removes the statement object from the graph.
-
remove
public void remove(List<Statement> statements)
Description copied from interface:Graph
Removes given list of Statement objects from the graph.
-
getStatements
public List<Statement> getStatements()
Description copied from interface:Graph
Returns all statements in the graph.- Specified by:
getStatements
in interfaceGraph
- Returns:
- list of Statement instances
-
getStatements
public List<Statement> getStatements(Node subject, Node predicate, Node object)
Description copied from interface:Graph
Returns all statements in the graph matching the pattern.- Specified by:
getStatements
in interfaceGraph
- Returns:
- list of Statement instances matching the pattern
-
getStatements
public List<Statement> getStatements(Statement statement)
Description copied from interface:Graph
Returns all statements in the graph matching the pattern.- Specified by:
getStatements
in interfaceGraph
- Parameters:
statement
- pattern to match, can hold null nodes as wildcards- Returns:
- list of Statement instances matching the pattern
-
getSubjects
public List<Node> getSubjects(Node predicate, Node object)
Description copied from interface:Graph
Get items matching the statement pattern (null, predicate, object).- Specified by:
getSubjects
in interfaceGraph
- Parameters:
predicate
- predicate pattern, null acceptedobject
- object pattern, null accepted- Returns:
- list of subjects
-
getPredicates
public List<Node> getPredicates(Node subject, Node object)
Description copied from interface:Graph
Gets items matching the statement pattern (subject, null, object).- Specified by:
getPredicates
in interfaceGraph
- Parameters:
subject
- subject pattern, null acceptedobject
- object pattern, null accepted- Returns:
- list of predicates
-
getObjects
public List<Node> getObjects(Node subject, Node predicate)
Description copied from interface:Graph
Gets items matching the statement pattern (subject, predicate, null).- Specified by:
getObjects
in interfaceGraph
- Parameters:
subject
- subject pattern, null acceptedpredicate
- predicate pattern, null accepted- Returns:
- list of node objects
-
hasStatement
public boolean hasStatement(Statement statement)
Description copied from interface:Graph
Returns true if given statement pattern is in the graph.- Specified by:
hasStatement
in interfaceGraph
- Parameters:
statement
- statement pattern, can use null as wild cards- Returns:
- true or false
-
hasResource
public boolean hasResource(Resource resource)
Description copied from interface:Graph
Returns true if given resource appears in any statement of the graph.- Specified by:
hasResource
in interfaceGraph
- Returns:
- true or false
-
query
public QueryResult query(String queryString, String language, String baseURI)
Description copied from interface:Graph
Query the graph using a base URI.
-
queryCount
public int queryCount(String queryString, String language, String baseURI)
Description copied from interface:Graph
Counts the number of results of a query.- Specified by:
queryCount
in interfaceGraph
- Parameters:
queryString
- the query stringlanguage
- the query language (sparql, rdql,...)baseURI
- the base URI to use for query- Returns:
- the count
-
read
public boolean read(String path, String lang, String base)
Description copied from interface:Graph
Parses source into the graph.- Specified by:
read
in interfaceGraph
- Parameters:
path
- path on file system where to take the serialization filelang
- format for the input serialization, may be "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".base
- base uri to be used when converting relative uris to absolute uris, may be null. If set to "", allows relative uris to be used in the model.- Returns:
- true on success, else false
-
write
public boolean write(String path, String lang, String base)
Description copied from interface:Graph
Serializes graph.- Specified by:
write
in interfaceGraph
- Parameters:
path
- path on file system where to put the serialization filelang
- format for the input serialization, may be "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".base
- base uri to be used when converting relative uris to absolute uris, may be null. If set to "", allows relative uris to be used in the model.- Returns:
- true on success, else false
-
read
public boolean read(InputStream in, String lang, String base)
Description copied from interface:Graph
Parses source into the graph.- Specified by:
read
in interfaceGraph
- Parameters:
in
- input streamlang
- format for the input serialization, may be "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".base
- base uri to be used when converting relative uris to absolute uris, may be null. If set to "", allows relative uris to be used in the model.- Returns:
- true on success, else false
-
write
public boolean write(OutputStream out, String lang, String base)
Description copied from interface:Graph
Serializes graph.- Specified by:
write
in interfaceGraph
- Parameters:
out
- output streamlang
- format for the input serialization, may be "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".base
- base uri to be used when converting relative uris to absolute uris, may be null. If set to "", allows relative uris to be used in the model.- Returns:
- true on success, else false
-
getDefaultRepositoryName
protected static String getDefaultRepositoryName()
-
getNodeAsString
protected static CoreGraph.NodeAsString getNodeAsString(Node node)
-
setModificationDate
protected static void setModificationDate(Statement statement, Calendar modified)
-
setStringProperty
protected static void setStringProperty(Statement statement, Resource prop, String string)
-
-