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 )

    Install

    npm i hexadb

    DownloadsWeekly Downloads

    1

    Version

    0.8.3

    License

    MIT

    Unpacked Size

    23.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • jhermsmeier