1. Go to this page and download the library: Download brightzone/gremlin-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
brightzone / gremlin-php example snippets
$db = new Connection();
$db->message->registerSerializer('\Brightzone\GremlinDriver\Serializers\Gson3', TRUE);
use \Brightzone\GremlinDriver\Connection;
$db = new Connection;
$db = new Connection([
'host' => 'localhost',
'graph' => 'graph'
]);
//you can set $db->timeout = 0.5; if you wish
$db->open();
$result = $db->send('g.V(2)');
//do something with result
$db->close();
$db = new Connection([
'host' => 'localhost',
'graph' => 'graph',
'username' => 'pomme',
'password' => 'hardToCrack'
]);
//you can set $db->timeout = 0.5; if you wish
$db->open();
$db->send('g.V(2)');
//do something with result
$db->close();
$unsafeUserValue = 2; //This could be anything submitted via form.
$db = new Connection([
'host' => 'localhost',
'port' => 8182,
'graph' => 'graph',
]);
$db->open();
$db->message->bindValue('CUSTO_BINDING', $unsafeUserValue); // protects from injections
$result1 = $db->send('g.V(CUSTO_BINDING)'); // The server compiles this script and adds it to cache
$db->message->bindValue('CUSTO_BINDING', 5);
$result2 = $db->send('g.V(CUSTO_BINDING)'); // The server already has this script so gets it from cache without compiling it, but runs it with 5 instead of $unsafeUserValue
$result3 = $db->send('g.V(5)'); // The script is different so the server compiles this script and adds it to cache
//do something with result
$db->close();
$db = new Connection([
'host' => 'localhost',
'port' => 8182,
]);
$db->open();
$db->send('cal = 5+5', 'session'); // first query sets the `cal` variable
$result = $db->send('cal', 'session'); // result = [10]
//do something with result
$db->close();
$db = new Connection([
'host' => 'localhost',
'port' => 8182,
'graph' => 'graphT',
]);
$db->open();
$db->transactionStart();
$db->send('t.addV().property("name","michael")');
$db->send('t.addV().property("name","john")');
$db->transactionStop(FALSE); //rollback changes. Set to TRUE to commit.
$db->close();
$db->send('gremlin.code.here'); // will retry multiple times if 'retryAttempts' is set
$message = new Message;
$message->gremlin = 'custom.V()'; // note that custom refers to the graph traversal set on the server as g (see alias bellow)
$message->op = 'eval'; // operation we want to run
$message->processor = ''; // the opProcessor the server should use
$message->setArguments([
'language' => 'gremlin-groovy',
'aliases' => ['custom' => 'g'],
// ... etc
]);
$message->registerSerializer('\Brightzone\GremlinDriver\Serializers\Json');
$db = new Connection();
$db->open();
$db->send($message);
//do something with result
$db->close();
$db = new Connection([
'host' => 'localhost',
'graph' => 'graph',
'ssl' => TRUE
]);
//you can set $db->timeout = 0.5; if you wish
$db->open();
$db->send('g.V(2)');
//do something with result
$db->close();
$db = new Connection;
$serializer = $db->message->getSerializer() ; // returns an instance of the default JSON serializer
echo $serializer->getName(); // JSON
echo $serializer->getMimeType(); // application/json
$db->message->registerSerializer('namespace\to\my\CustomSerializer', TRUE); // sets this as default
$serializer = $db->message->getSerializer(); // returns an instance of the CustomSerializer serializer (default)
$serializer = $db->message->getSerializer('application/json'); // returns an instance of the JSON serializer