predicate-example
The basics of using predicates to narrow searches on your graph.
Description
predicate-example demonstrates how to use the Predicates to your advantage to narrow your search on the graph. Specifically this examples shows how to use them in a Traversal
object to narrow the search.
Prerequisites
- go 1.12
- Git
- Elastic Search
- Cassandra
Running
To run this test you will need a TinkerPop server running and a graph database to connect to locally. This example was tested while using JanusGraph which can be used by locating yourself to the root directory of the Grammes project.
cd $GOPATH/src/github.com/00security/grammes
After locating yourself here then you may change directory to the /scripts
folder.
cd scripts
Finally you may run the janusgraph.sh
script to begin a local instance of JanusGraph. This will begin the TinkerPop server for you as well.
./janusgraph.sh
For further instructions please find yourself to the root README.md file.
Steps
General steps
- Create a zap logger to help explain what's going on in the test and display the results.
- Creates a Grammes client that connects to a locally hosted TinkerPop server with a WebSocket.
- For testing this was created using JanusGraph. This can be run in the
/scripts
directory.
- Drop all of the possible interfering vertices that were already on the graph.
- Defer a drop of all the testing vertices. This is done as clean up.
Test specific steps
- Adds testing vertices that have properties that can be searched
- Gathers vertices using a search predicate
- Prints the gathered vertices