Tag Archives: OrientDB

Video: Fully Reactive – from Data to UI with OrientDB + NodeJS + Socket.io


Having both a reactive application layer and front-end is just not enough anymore. Today’s reality demands a fully reactive architecture where all the layers, including the database, are able to interact with each other using a paradigm. In this presentation, you’ll learn how to build a fully reactive application in a few minutes with just a few lines of code resulting in every database change propagating asynchronously between the application layer and the front-end.

Official node.js driver for OrientDB. Fast, lightweight, uses the binary protocol.


via codemix/oriento · GitHub.

Oriento aims to work with version 1.7.1 of orientdb and later. While it may work with earlier versions, they are not currently supported, pull requests are welcome!

IMPORTANT: Oriento does not currently support OrientDB’s Tree Based RIDBag feature because it relies on making additional network requests. This means that by default, the result of e.g.JSON.stringify(record) for a record with up to 119 edges will be very different from a record with 120+ edges. This can lead to very nasty surprises which may not manifest themselves during development but could appear at any time in production. There is an open issue for this in OrientDB, until that gets fixed, it is strongly recommended that you setRID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD to a very large value, e.g. 2147483647. Please see the relevant section in the OrientDB manual for more information.

Manipulate Sigma.js graphs with the Gremlin API


gremlin-sigma

Manipulate Sigma.js graphs in the browser using pure JavaScript Gremlin graph traversals. This library does not require any remote graph database such as Titan, Neo4j or OrientDB.

Gremlin-Sigma is currently being developed using Sigma.js v1.0.3.

Installation and dependencies

Gremlin-Sigma simply wraps a Sigma.js instance. Therefore, you’re required to add the Sigma.js dependency yourself to your project.

The other main dependency is gremlin-core-js, a 1:1 JavaScript port of TinkerPop3 Gremlin graph traversal engine. Issues regarding missing or bugged Gremlin steps should opened in the gremlin-core-js issues section.

The last dependency is Underscore.js, though this may be replaced with Lodash or Lazy.js.

Executing Gremlin traversals on a Sigma.js graph

Quick Gremlin traversal example, assuming you’re using Browserify:

var sigma = require('sigma');
var SigmaGraph = require('gremlin-sigma').SigmaGraph;

var g = SigmaGraph.open(sigma);

var alice = g.addVertex('id', 'n0', 'name', 'alice');
var bob = g.addVertex('id', 'n1', 'name', 'bob');
alice.addEdge('likes', bob, { id: 'e0' });
alice.addEdge('knows', alice, { id: 'e1' });

// Traversal example: for each vertices (nodes), iterate through all their
// respective out vertices linked with 'likes' label.
g.V().out('likes').forEach(function(vertex) {
    // vertex.name === 'bob'
});

For a list of currently supported steps, please have a look at tinkergraph-js, the reference in-memory JavaScript graph database that implements gremlin-core-js.

Running the examples

  • clone the repository
  • install dependencies with npm install
  • build gremlin-sigma with gulp build
  • start a local http server with npm start (listens on port 8080)
  • open a browser and go to http://localhost:8080/examples