Gremlin.Net is now part of Apache TinkerPop™. This repository only keeps a version of Gremlin.Net before its inclusion in TinkerPop (versions <= 0.2.2).
Links:
This repository only contains an outdated version of Gremlin.Net. For newer version head to Apache TinkerPop.
Home Page: http://tinkerpop.apache.org/
License: Apache License 2.0
Gremlin.Net is now part of Apache TinkerPop™. This repository only keeps a version of Gremlin.Net before its inclusion in TinkerPop (versions <= 0.2.2).
Links:
please consider targeting .net standard, given the GA of Azure Cosmos DB this allow using the library of a number of hardware/software platforms
Add support for sessions that allow a transaction to span over multiple requests.
Reference: http://tinkerpop.apache.org/docs/current/reference/#sessions
Gremlin.Net currently only targets .NET Standard 1.3 which is supported by .NET Framework 4.6 and higher. Since many users still use .NET Framework 4.5, it would be a good idea to also target that framework to make Gremlin.Net accessible to those users.
The reason why Gremlin.Net currently doesn't target anything below .NET Standard 1.3 was that some of its dependencies like System.Net.WebSockets
only target that version (and the respective .NET Framework 4.6). But since these dependencies where already part of .NET Framework 4.5, it should be possible to add that as a target framework and not use these NuGet packages for that target.
Hi
I have recently moved to Gremlin.net 3.3.4
I am using the concept
string gremlinDatabasePath = $"/dbs/{databaseName}/colls/{collectionName}";
var _server = new GremlinServer(gremlinEndPoint,
port,
enableSsl,
gremlinDatabasePath,
gremlinAuthKey);
where the gremlinEndPoint is taken from the azure portal and the https:// has been removed
var client = new GremlinClient(_server,
new GraphSON2Reader(),
new GraphSON2Writer(),
GremlinClient.GraphSON2MimeType);
what causes this exception thatcomes up. I left the Azure.Document.Graph preview API so I have to get it to worlk
Stack StackTrace : at Gremlin.Net.Structure.IO.GraphSON.GraphSONWriter.WriteObject(Object objectData)
at Gremlin.Net.Driver.Connection.d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.Connection.d__81.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Gremlin.Net.Driver.ProxyConnection.<SubmitAsync>d__3
1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.GremlinClient.d__61.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Gremlin.Net.Driver.GremlinClientExtensions.<SubmitAsync>d__4
1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MDT.MYA.GraphDataAccess.GremlinExecuter.GremlinCommandExecuter.d__0.MoveNext() in D:\projects\CPH.EA.MYA\Trunk\Projects\MDT.Manar.Graph.DataAccess\GremlinExecuter\GremlinCommandExecuter.cs:line 39
Some endpoints are secured using username password connections.
At this moment this is not yet supported by Gremlin.Net.
Hi,
Since I updated to the 3.3.1 and 3.3.2 of the Nuget package, there is a Null Reference Exception.
Here is the stack trace :
at Gremlin.Net.Driver.Connection.<ReceiveAsync>d__14`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.Connection.<SubmitAsync>d__8`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.ProxyConnection.<SubmitAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.GremlinClient.<SubmitAsync>d__6`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.GremlinClientExtensions.<SubmitAsync>d__4`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PartitionedGraph.Program.<ExecuteGremlinServerQueryAsync>d__3.MoveNext()
And the code sample:
string query = "g.V().drop()";
GremlinServer server = new GremlinServer(gremlinServerEndPoint, serverPort, true, $"/dbs/{databaseId}/colls/{collectionId}", primaryKey);
using (GremlinClient client = new GremlinClient(server))
{
IEnumerable<dynamic> results = await GremlinClientExtensions.SubmitAsync<dynamic>(client, requestScript: query);
foreach (dynamic result in results)
{
Console.WriteLine(result.ToString());
}
}
I know this is not the right version project, but I can not find the original repository for the Nuget package.
This is not blocking, since I can use the 3.2.8 version of the NuGet pacakge.
Thanks in advance.
Hi,
i saved a time in String UTC Format in the Cosmos GraphDB.
As "yyyy-MM-ddTHH:mm:ssZ"
As i retrieved it, i though i would come back as string but it comes back as DateTime.
Is think this comes from the NewtonJsoft SerializerSettings in the Gremlin.net
Is there any way to change this default Settings to my behavior?
I want to do something like this:
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
DateParseHandling = DateParseHandling.None,
DateFormatString = "yyyy-MM-ddTHH:mm:ssZ"
};
Thanks!
Hello! The latest nuget package 0.2.1 doesn't seem to be strong-name signed.
CSC : error CS1577: Assembly generation failed -- Referenced assembly 'Gremlin.Net' does not have a strong name
Is this an oversight?
Since many graph databases like Titan and DSE Graph consist of more than just one server, Gremlin.Net should be able to send requests to multiple servers.
Round-robin should be used as the default scheduling algorithm for requests.
Add support for PLAIN SASL authentication described in: http://tinkerpop.apache.org/docs/current/dev/provider/#_authentication
RequestMessage.RequestId returns Guid.NewGuid(); this causes a different ID to be generated any time you call the property getter. For example, I was trying to log request and response IDs, but the value was different every time I inspected it.
I think the value should be assigned during construction, and that value returned, so that it's the same throughout the lifetime of the request. For example:
private readonly Guid _requestId = Guid.NewGuid();
[JsonProperty(PropertyName = "requestId")]
public Guid RequestId => _requestId;
Also, I'm unable to find a reference on this, but I have seen in other implementations that the authentication message uses the same request ID as the original request. This makes sense to me, as it is part of the same logical request.
When call just CloseAsync it is possible to get exception (Remote side closed the WebSocket connection without complete closing confirmation: WebSocketErrorCode-ConnectionClosedPrematurely-System.Net.WebSockets.WebSocketError):
в System.Net.WebSockets.WebSocketBase.WebSocketOperation.<Process>d__19.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
в System.Net.WebSockets.WebSocketBase.<CloseAsyncCore>d__56.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в Gremlin.Net.WebSocketConnection.<CloseAsync>d__4.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в Gremlin.Net.Connection.<CloseAsync>d__5.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в Gremlin.Net.ConnectionPool.<TeardownAsync>d__16.MoveNext()
I think, calling CloseOutputAsync should change this situation.
I have happened across this repo when I was looking for a good .NET package to query gremlin queries with, and I thought that this is the state of art in .NET - but today a coworker opened my eyes to the official implementation, so I wonder if the readme can be updated to point people over to that: https://github.com/apache/tinkerpop/tree/master/gremlin-dotnet
Thanks a lot!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.