fwiw...

I updated my .Net wrapper
https://github.com/SepiaGroup/Neo4jRestNet/

you can now use LINQ on the flilter and sort commands for example

Node MyNode = Node.GetNode(123);
GremlinScript script = new GremlinScript(MyNode)
        .Out("Like")
        .Filter(it => it.GetProperty("MyProp").ToLowerCase() == "TestValue" ||
it.GetProperty("AnotherProp").Contains("SomeValue"))

IEnumerable<Node> ReturnNodes = Gremlin.Post<Node>(script);


You can also return a DataTable 

GremlinScript script = new GremlinScript();
script.NewTable("t")
        .NodeIndexLookup(new Dictionary<string, object>() { { "FirstName" , 
"Jack"
}, { "LastName", "Shaw" } })
        .Filter(it => it.GetProperty("UID") == "jshaw") 
        .As("UserNode")
        .OutE("Like")
        .As("LikeRel")
        .InV()
        .As("FriendNode")
        .Table("t", "UserNode", "LikeRel", "FriendNode")
        .Append("{{it}}{{it.getProperty('{0}')}}{{it.getProperty('{1}')}} >> -1;
t","Date", "FirstName");

DataTable tbl = Gremlin.GetTable(script);


The above table example will submit the following Gremlin script to Neo4j:

t = new Table();
g.V[['FirstName':'Jack','LastName':'Shaw']]
        .filter{it.getProperty('UID') == 'jshaw'}
        .as('UserNode')
        .outE('Likes')
        .as('LikeRel')
        .inV()
        .as('FriendNode')
        .table(t,
['UserNode','LikeRel','FriendNode']){it}{it.getProperty('Date')}{it.getProperty('FirstName')}
>> -1; t");

And the returned table will have column names of "UserNode", "LikeRel",
"FriendNode" with typed values of Node, DateTime, string (assuming the
properties are stored with the correct types)




--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4jRestNet-Update-tp3436032p3436032.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to