Quick Start

From Blazegraph
Jump to: navigation, search

Start Blazegraph

You can start your acquaintance with Blazegraph™ from Blazegraph Workbench (a frontend to the NanoSparqlServer), just running it from a command line.

Download the latest blazegraph.jar file and run it:

java -server -Xmx4g -jar blazegraph.jar

...

serviceURL: http://127.0.0.1:9999


Welcome to Blazegraph(tm) by SYSTAP.


Go to http://localhost:9999/blazegraph/ to get started.

Once it started, the default workbench location is http://localhost:9999/blazegraph/:

Screen12.png

Load Data

You can load the file /tmp/blazgraph/data.n3 (for example, get this file) through the "Update" tab:

load <file:///tmp/blazegraph/data.n3>

Screen11.png

Query Data

You can issue SPARQL queries through the "Query" tab:

select * where { <http://blazegraph.com/blazegraph> ?p ?o }

Screen13.png

Create Namespace

On the first start of Blazegraph one default namespace is created (named 'namespace'). You can use 'NAMESPACES' tab for further manipulations with namespaces.

A namespace corresponds to a dedicated repository (i.e., a separate database). When loading or querying data, this is always against a given namespace (when using the blazegraph worbench: the one that is currently selected as "in use"). Each namespace exposes its own SPARQL endpoint. It is possible to write queries that combine data from multiple namespaces using SPARQL 1.1 SERVICE queries (aka SPARQL federation). The SPARQL endpoint associated with a given namespace runs at [PROTOCOL]://[SERVER]:[PORT]/[CONTEXTPATH]/namespace/[NAMESPACENAME]/sparql (as an example, in the default configuration, your namespace "myNamespace" is reachable via http://localhost:9999/blazegraph/namespace/myNamespace/sparql).

The key idea behind namespaces is to provide multi-tenancy support: different data might be stored isolated from each other, possibly with different configuration. For instance, we may choose to store Freebase in one namespace running in triples mode, while user specific data is stored in a different namespace. Joins across namespaces are possible by using the same identifiers (URIs).

To create a new namespace fill in the 'Name' field, configure desired options and press 'Create namespace' button. Screen14.png

You may adjust properties for a namespace on your convenience, then press 'Create' button: Screen15.png

A new namespace is added to namespaces list: Screen16.png

Clone Namespace

Cloning a namespace creates a fresh namespace with the same configuration, but does *not* copy over the data from the original namespace (if you want to duplicate the data, you need to first clone it, then dump the data from the old namespace, and reload it into the cloned namespace). You could clone any existing namespace, using 'Clone' control (it will store specified namespace properties for clone purposes): Screen17.png

Field 'Name' gets focus, you need to enter a name for new cloned namespace and press 'Create namespace' button.

You may adjust properties for a namespace on your convenience (note, that properties are copied from the original namespace, configuration options for store mode, Inference, Isolatable indices and Full text index override configuration of the original namespace), then press 'Create' button: Screen18.png

A cloned namespace is added to namespaces list: Screen19.png