FAQ

Where does the name “OWLIM” (the former GraphDB name) come from?
The name originally came from the term “OWL In Memory” and was fitting for what later became OWLIM-Lite. However, OWLIM-SE used a transactional, index-based file-storage layer where “In Memory” was no longer appropriate. Nevertheless, the name stuck and it was rarely asked where it came from.
What kind of SPARQL compliance is supported?

All GraphDB editions support:

See also SPARQL compliance.

Is GraphBD Jena-compatible?
Yes, GraphBD is compatible with Jena 2.7.3 with a built-in adapter. | For more information, see Using GraphDB with Jena
What are the advantages of using solid-state drives as opposed to hard-disk drives?

We recommend using enterprise grade SSDs whenever possible as they provide a significantly faster database performance compared to hard-disk drives.

Unlike relational databases, a semantic database needs to compute the inferred closure for inserted and deleted statements. This involves making highly unpredictable joins using statements anywhere in its indices. Despite utilising paging structures as best as possible, a large number of disk seeks can be expected and SSDs perform far better than HDDs in such a task.

How to find out the exact version number of GraphDB?

The major/minor version and build number make up part of the GraphDB distribution .zip file name. The embedded owlim .jar file has the major and minor version numbers appended.

In addition, at start up, GraphDB will log the full version number in an INFO logger message, e.g., [INFO ] 2016-04-13 10:53:35,056 [http-nio-7200-exec-8 | c.o.t.f.GraphDBFreeSchemaRepository] Version: 7.0, revision: -2065913377.

The following DESCRIBE query:

DESCRIBE <http://www.ontotext.com/SYSINFO> FROM <http://www.ontotext.com/SYSINFO>

returns pseudo-triples providing information on various GraphDB states, including the number of triples (total and explicit), storage space (used and free), commits (total and if one is in progress), the repository signature, and the build number of the software.

How to retrieve repository configurations from the Sesame SYSTEM repository?

When using a LocalRepositoryManager, Sesame stores the configuration data for repositories in its own SYSTEM repository. A Tomcat instance does the same and there is SYSTEM under the list of repositories that the instance manages.

To see what configuration data is stored in a GraphDB repository, connect to the SYSTEM repository and execute the following query:

PREFIX sys:  <http://www.openrdf.org/config/repository#>
PREFIX sail: <http://www.openrdf.org/config/repository/sail#>

select ?id ?type ?param ?value
where {
  ?rep sys:repositoryID ?id .
  ?rep sys:repositoryImpl ?impl .
  ?impl sys:repositoryType ?type .
  optional {
    ?impl sail:sailImpl ?sail .
    ?sail ?param ?value .
  }
  # FILTER( ?id = "specific_repository_id" ) .
}
ORDER BY ?id ?param

This returns the repository ID and type, followed by name-value pairs of configuration data for SAIL repositories, including the SAIL type, for example graphdb:FreeSail.

If you uncomment the FILTER clause, you can substitute a repository ID to get the configuration just for that repository.

Why can’t I use my custom rule file (.pie) - an exception occurred?
To use custom rule files, GraphDB must be running in a JVM that has access to the Java compiler. The easiest way to do this is to use the Java runtime from a Java Development Kit (JDK).
Why can’t I delete a repository?

Sesame keeps all repositories in the SYSTEM repository and sometimes you will not be able to initialise the repository, so you cannot delete it. You can execute the following query to remove the repository from SYSTEM.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX sys: <http://www.openrdf.org/config/repository#>

delete {
   ?g rdf:type sys:RepositoryContext .
} where {
    graph ?g {
        ?s sys:repositoryID "repositoryID" .
    }

    ?g rdf:type sys:RepositoryContext .
}

Change the repositoryID literal as needed. This removes the statement that makes the context a repository context. Configuration for the repository will be kept intact as well as the data in the storage.

Where can I find the Experimental Explain Plan in the documentation of GraphDB 6.6?
GraphDB Experimental Explain Plan was introduced in version 6.4.3 to improve the execution of complex queries. It was simultaneously used with the regular Explain Plan until version 6.6.1 when it became the GraphDB’s regular Explain Plan. See the table below for more information.
Version Explain Plan Experimental Explain Plan
6.0 - 6.4.2
6.4.3 - 6.6.0
6.6.1 and higher ✅ (renamed to Explain Plan)