Code Monkey home page Code Monkey logo

Comments (5)

davebshow avatar davebshow commented on August 17, 2024

I expect this is due to the lack of meta/multi-card props in Neptune and/or the version of Goblin you are using. I am pretty sure this behaves as expected with TinkerGraph and JanusGraph with the newest Goblin.

I haven't had much time to work on these libraries lately and I don't have access to Neptune. I would love to get Goblin integration going for this provider but I may need some community support here...

from goblin.

mbbfyb avatar mbbfyb commented on August 17, 2024

Sure. I will see if I can make any progress on it, and report back if I do. Was just confirming the desired behavior here before I started to mess with things. The goal of that function is to drop() all properties off of the vertex, and then add them back in? Instead of doing an inline update?

from goblin.

aolieman avatar aolieman commented on August 17, 2024

This does not seem Neptune-specific as I've started getting this incorrect behavior after a DSE upgrade as well. I'm guessing it involves a bug in TinkerPop though, because the gremlin bytecode that is created by goblin/gremlinpython looks good, e.g. when updating properties of an existing vertex:

[
 ['addV', 'some_vertex_label'],
 ['property', binding[k0=canonical_name], binding[v0=new name]],
 ['property', binding[k1=names], binding[v1=third name]],
 ['property', <Cardinality.list_: 1>, binding[k2=names], binding[v2=fourth name]], 
 ['property', <Cardinality.list_: 1>, binding[k3=names], binding[v3=fifth name]]
]

This should let the addProperty step behave as described in the TP docs:
http://tinkerpop.apache.org/docs/current/reference/#vertex-properties

The result however is "concat" behavior, rather than overwrite:

{'id': '0c5b6974-ac51-4b78-955c-859eec3b3544', 
 'canonical_name': 'new name', 
 'names': ['first name', 'second name', 'third name', 'fourth name', 'fifth name']
}

The DSE update I did leads me to believe that the addProperty behavior changed somewhere between TP 3.2.x and 3.2.7, but I am still investigating this.

@mbbfyb which version of TinkerPop is used by the Neptune version you are using for these tests?

from goblin.

davebshow avatar davebshow commented on August 17, 2024

I will look into this with more detail when I get a spare moment.

from goblin.

mbbfyb avatar mbbfyb commented on August 17, 2024

@aolieman According to the FAQs it looks like it supports Tinkerpop 3.3

Amazon Neptune’s Gremlin server will support clients that are compatible with Apache TinkerPop version 3.3 using both Websocket and REST connections.

from goblin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.