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:
- SPARQL 1.1 Protocol for RDF
- SPARQL 1.1 Query
- SPARQL 1.1 Update
- SPARQL 1.1 Federation
- SPARQL 1.1 Graph Store HTTP Protocol
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 are 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 logs 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 RDF4J
SYSTEM
repository? When using a
LocalRepositoryManager
, RDF4J stores the configuration data for repositories in its ownSYSTEM
repository. A Tomcat instance does the same and there isSYSTEM
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?
RDF4J 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 fromSYSTEM
.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.