All Projects → ziyasal-archive → Cayley.Net

ziyasal-archive / Cayley.Net

Licence: MIT license
.Net Client for an open-source graph database Cayley

Programming Languages

C#
18002 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to Cayley.Net

Cayley
An open-source graph database
Stars: ✭ 14,020 (+100042.86%)
Mutual labels:  graph-database, cayley
docs
Source code of the ArangoDB online documentation
Stars: ✭ 18 (+28.57%)
Mutual labels:  graph-database
Helicalinsight
Helical Insight software is world’s first Open Source Business Intelligence framework which helps you to make sense out of your data and make well informed decisions.
Stars: ✭ 214 (+1428.57%)
Mutual labels:  graph-database
incubator-age-viewer
Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.
Stars: ✭ 123 (+778.57%)
Mutual labels:  graph-database
Deepgraph
Analyze Data with Pandas-based Networks. Documentation:
Stars: ✭ 232 (+1557.14%)
Mutual labels:  graph-database
neo4j-faker
Use faker cypher functions to generate demo and test data with cypher
Stars: ✭ 30 (+114.29%)
Mutual labels:  graph-database
Degdb
degdb: distributed economic graph database
Stars: ✭ 207 (+1378.57%)
Mutual labels:  graph-database
grafito
Portable, Serverless & Lightweight SQLite-based Graph Database in Arturo
Stars: ✭ 95 (+578.57%)
Mutual labels:  graph-database
uber-graph-benchmark
A framework to benchmark different graph databases, based on generated data from customizable schema, distribution, and size.
Stars: ✭ 25 (+78.57%)
Mutual labels:  graph-database
spicedb
Open Source, Google Zanzibar-inspired fine-grained permissions database
Stars: ✭ 3,358 (+23885.71%)
Mutual labels:  graph-database
mizo
Super-fast Spark RDD for Titan Graph Database on HBase
Stars: ✭ 24 (+71.43%)
Mutual labels:  graph-database
Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+20950%)
Mutual labels:  graph-database
database-journal
Databases: Concepts, commands, codes, interview questions and more...
Stars: ✭ 50 (+257.14%)
Mutual labels:  graph-database
Hgraphdb
HBase as a TinkerPop Graph Database
Stars: ✭ 226 (+1514.29%)
Mutual labels:  graph-database
dgraph
Dgraph Dart client which communicates with the server using gRPC.
Stars: ✭ 27 (+92.86%)
Mutual labels:  graph-database
Gremlin Javascript
JavaScript tools for graph processing in Node.js and the browser inspired by the Apache TinkerPop API
Stars: ✭ 209 (+1392.86%)
Mutual labels:  graph-database
nebula-docker-compose
Docker compose for Nebula Graph
Stars: ✭ 84 (+500%)
Mutual labels:  graph-database
NoSQLDataEngineering
NoSQL Data Engineering
Stars: ✭ 25 (+78.57%)
Mutual labels:  graph-database
CyFHIR
A Neo4j Plugin for Handling HL7 FHIR Data
Stars: ✭ 39 (+178.57%)
Mutual labels:  graph-database
angular-neo4j
Neo4j Bolt driver wrapper for Angular
Stars: ✭ 18 (+28.57%)
Mutual labels:  graph-database

Cayley.Net

.Net Client for an open-source graph database Cayley

Build status

Cayley is an open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph. Its goal is to be a part of the developer's toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.

##Sample

  ICayleyClient client = new CayleyClient("http://localhost:64210/api/v1/query/gremlin");
  IGraphObject g = new GraphObject();

  // Start with only one vertex, the literal name "Humphrey Bogart", and retreive all of them.
  IGremlinQuery query=g.Vertex("Humphrey Bogart").All();
  CayleyResponse response = client.Send(query); //response.Content contains raw JSON data
  
  // `g` and `V` are synonyms for `graph` and `Vertex` respectively, as they are quite common.
  var query=g.V("Humphrey Bogart").All();
  CayleyResponse response = client.Send(query);
  
  // "Humphrey Bogart" is a name, but not an entity. Let's find the entities with this name in our dataset.
  // Follow links that are pointing In to our "Humphrey Bogart" node with the predicate "name".
  var query = g.V("Humphrey Bogart").In("name").All();
  CayleyResponse response = client.Send(query);
  
  // Notice that "name" is a generic predicate in our dataset. 
  // Starting with a movie gives a similar effect.
  var query = g.V("Casablanca").In("name").All();
  CayleyResponse response = client.Send(query);

  // Relatedly, we can ask the reverse; all ids with the name "Casablanca"
  var query = g.V().Has("name", "Casablanca").All();
  CayleyResponse response = client.Send(query);
  
  // Let's get the list of actors in the film
  var query = g.V().Has("name", "Casablanca")
                .Out("/film/film/starring")
                .Out("/film/performance/actor")
                .Out("name")
                .All();

  CayleyResponse response = client.Send(query);
  System.Console.WriteLine(response.Content);
  
  //But this is starting to get long. Let's use a morphism -- a pre-defined path stored in a variable -- as our linkage
   var filmToActor = g.Morphism().Out("/film/film/starring").Out("/film/performance/actor");
   var query = g.V()
                .Has("name", "Casablanca")
                .Follow(filmToActor)
                .Out("name")
                .All();
  CayleyResponse response = client.Send(query);
  System.Console.WriteLine(response.Content);

  //Add data programatically to the JSON result list. Can be any JSON type.
  var query = g.Emit(new {name = "John Doe", age = 41, isActor = true});
  CayleyResponse emitResponse = client.Send(query);

##Bugs If you encounter a bug, performance issue, or malfunction, please add an Issue with steps on how to reproduce the problem.

##TODO

  • Improve Gremlin implementation
  • Add more tests
  • Add more documentation
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].