Comments (5)
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.
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.
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.
I will look into this with more detail when I get a spare moment.
from goblin.
@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)
- Reference instance to test goblin against HOT 3
- How to change version of Goblin OGM Serializer for Janusgraph (TinkerPop 3.2.6) HOT 3
- TypeError: unhashable type: 'dict' when creating an Edge HOT 10
- goblin does not work with aiohttp>=3.0.0 HOT 5
- Question about using a multi-value/set VertexProperty HOT 6
- Vertex property gets changed from Gremlin Console but not from Python/Goblin script HOT 2
- goblin not working with aiohttp (server) HOT 2
- Mocking JanusGraph Connection for unit tests
- Add method to easily remove Vertex HOT 1
- The project appears idle, can I take over? HOT 10
- Problem with Edge data type HOT 5
- App/Cluster configuration using URL HOT 3
- Schema generator HOT 3
- Belated License change HOT 5
- Question: Extent to which OO modeling is supported in Goblin HOT 7
- How to use mixed index in goblin? HOT 4
- AttributeError: AsyncGraphTraversal.last_traverser HOT 1
- [Proposal] - OGM distinct from driver HOT 7
- Ability to set vertex or edge ID HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goblin.