Install via npm
$ npm install --save hexadb
These are just very rough figures, obtained with the UWN dataset
on an i5-4278U @ 2.6 GHz
, running io.js 2.2.1
on Windows 10.
Read
Read 128561 triples
Speed: 8000 triples/sec
Speed: 0.13 ms/triple
Write
HDD:
Inserted 128561 triples
Speed: 2000 triples/sec
Speed: 0.50 ms/triple
SSD:
Inserted 128561 triples
Speed: 2308 triples/sec
Speed: 0.40 ms/triple
var level = require( 'level' )
var HexaDB = require( 'hexadb' )
// Create a new instance
var db = new HexaDB( level( path ) )
// Triples can be Arrays in (spo) order
var triple = [ 'subject', 'predicate', 'object' ]
// Or Objects, either with short or long keys
var triple = { s: 'something', p: 'else', o: 'is happening' }
// This is the form in which HexaDB returns them in results
var triple = {
subject: 'something',
predicate: 'else',
object: 'is happening',
}
// A triple with variables can be used for
// search queries (also for get queries, but
// variables won't be bound)
var triple = {
// This is what a variable is made of
s: new HexaDB.Variable( 'varname' ),
p: 'hasStars',
// And this is the shortcut to it
o: db.v( 'shortvar' )
}
var options = {
offset: 0,
limit: -1,
fillCache: true,
reverse: false,
}
db.get( triple, options, function( error, result ) {
// ...
})
db.put( triple, function( error ) {
// ...
})
db.update( oldTriple, newTriple, function( error ) {
// ...
})
db.delete( triple, function( error ) {
// ...
})
db.search( query, options, function( error, result ) {
// ...
})
var stream = db.getStream( pattern, options )
var stream = db.putStream()
var stream = db.updateStream()
var stream = db.deleteStream()
var search = db.searchStream( query, options )