hexadb

0.8.3 • Public • Published

Hexa DB

npm npm npm downloads build status

Install via npm

$ npm install --save hexadb

Performance

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

Usage

var level = require( 'level' )
var HexaDB = require( 'hexadb' )
// Create a new instance
var db = new HexaDB( level( path ) )

Triples

// 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',
}

Variables

// 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' )
}

Query Options

var options = {
  offset: 0,
  limit: -1,
  fillCache: true,
  reverse: false,
}

API

Methods

Get

db.get( triple, options, function( error, result ) {
  // ...
})

Put

db.put( triple, function( error ) {
  // ...
})

Update

db.update( oldTriple, newTriple, function( error ) {
  // ...
})

Delete

db.delete( triple, function( error ) {
  // ...
})

Search

db.search( query, options, function( error, result ) {
  // ...
})

GetStream

var stream = db.getStream( pattern, options )

PutStream

var stream = db.putStream()

UpdateStream

var stream = db.updateStream()

DeleteStream

var stream = db.deleteStream()

SearchStream

var search = db.searchStream( query, options )

Package Sidebar

Install

npm i hexadb

Weekly Downloads

2

Version

0.8.3

License

MIT

Unpacked Size

23.9 kB

Total Files

9

Last publish

Collaborators

  • jhermsmeier