Class JenaGraph

java.lang.Object
org.nuxeo.ecm.platform.relations.jena.JenaGraph
All Implemented Interfaces:
Serializable, Graph

public class JenaGraph extends Object implements Graph
Jena plugin for NXRelations.

Graph implementation using the Jena framework.

See Also:
  • Constructor Details

    • JenaGraph

      public JenaGraph()
  • Method Details

    • openGraph

      protected JenaGraph.GraphConnection openGraph()
      Generates the Jena graph using options.
      Returns:
      the Jena graph (model)
    • openGraph

      protected JenaGraph.GraphConnection openGraph(boolean forceReload)
      Gets the Jena graph using options.

      The Jena "Convenient" reification style is used when opening models: it allows to ignore reification quadlets when calling the statements list.

      Parameters:
      forceReload - boolean stating if the jena graph has to be reloaded using options
      Returns:
      the Jena graph (model)
    • setDescription

      public void setDescription(GraphDescription graphDescription)
      Description copied from interface: Graph
      Sets the graph description.
      Specified by:
      setDescription in interface Graph
    • setOptions

      protected void setOptions(Map<String,String> options)
    • setNamespaces

      public void setNamespaces(Map<String,String> namespaces)
    • 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 interface Graph
      Returns:
      namespaces map of namespace bindings for the graph
    • add

      public void add(Statement statement)
      Description copied from interface: Graph
      Adds the statement object to the graph.
      Specified by:
      add in interface Graph
      Parameters:
      statement - statement to add
    • add

      public void add(List<Statement> statements)
      Description copied from interface: Graph
      Adds given list of Statement objects to the graph.
      Specified by:
      add in interface Graph
      Parameters:
      statements - list of Statement instances to add
    • remove

      public void remove(Statement statement)
      Description copied from interface: Graph
      Removes the statement object from the graph.
      Specified by:
      remove in interface Graph
      Parameters:
      statement - statement to remove
    • remove

      public void remove(List<Statement> statements)
      Description copied from interface: Graph
      Removes given list of Statement objects from the graph.
      Specified by:
      remove in interface Graph
      Parameters:
      statements - List of Statement instances to remove
    • getStatements

      public List<Statement> getStatements()
      Description copied from interface: Graph
      Returns all statements in the graph.
      Specified by:
      getStatements in interface Graph
      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 interface Graph
      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 interface Graph
      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 interface Graph
      Parameters:
      predicate - predicate pattern, null accepted
      object - 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 interface Graph
      Parameters:
      subject - subject pattern, null accepted
      object - 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 interface Graph
      Parameters:
      subject - subject pattern, null accepted
      predicate - 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 interface Graph
      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 interface Graph
      Returns:
      true or false
    • size

      public Long size()
      Returns the number of statements in the graph.

      XXX AT: this size may not be equal to the number of statements retrieved via getStatements() because it counts each statement property.

      Specified by:
      size in interface Graph
      Returns:
      integer number of statements in the graph
    • clear

      public void clear()
      Description copied from interface: Graph
      Clears the graph, removing all statements in it.
      Specified by:
      clear in interface Graph
    • query

      public QueryResult query(String queryString, String language, String baseURI)
      Description copied from interface: Graph
      Query the graph using a base URI.
      Specified by:
      query in interface Graph
      Parameters:
      queryString - the query string
      language - the query language (sparql, rdql,...)
      baseURI - the base URI to use for query
      Returns:
      QueryResult instance
    • 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 interface Graph
      Parameters:
      queryString - the query string
      language - the query language (sparql, rdql,...)
      baseURI - the base URI to use for query
      Returns:
      the count
    • read

      public boolean read(InputStream in, String lang, String base)
      Description copied from interface: Graph
      Parses source into the graph.
      Specified by:
      read in interface Graph
      Parameters:
      in - input stream
      lang - 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(String path, String lang, String base)
      Description copied from interface: Graph
      Parses source into the graph.
      Specified by:
      read in interface Graph
      Parameters:
      path - path on file system where to take the serialization file
      lang - 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 interface Graph
      Parameters:
      out - output stream
      lang - 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 interface Graph
      Parameters:
      path - path on file system where to put the serialization file
      lang - 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