Giter Club home page Giter Club logo

Comments (6)

davebshow avatar davebshow commented on June 26, 2024

Hi @marciodebarros. I am super busy this week and I haven't looked closely at this, but I can maybe get you started. Yes, a set card property in goblin expects to be assigned a set. After the set is assigned, then you can add. You should be able to initialize with say, a string literal, and it will wrap it up in a set for you.

As far as the doubled IPs in the set, you shouldn't be able to do that. I will look more closely at this.

The server error looks like you are jusing Janus graph and you have not defined a set card property in your schema...this is a requirement. If you are not using Janus, please let me know.

from goblin.

marciodebarros avatar marciodebarros commented on June 26, 2024

Hi @davebshow I am indeed using Janus. Regarding the schema, I haven't defined one as I was hoping that would get defined implicitly. Is this something that Goblin currently supports or will I need to do from Gremlin console ? Thank you.

from goblin.

davebshow avatar davebshow commented on June 26, 2024

Made any progress here? You can define the schema either in the gremlin console or by submitting a string using the client provided by aiogremlin. Automatic schema creation does not work (AFAIK) with multi-card properties

from goblin.

marciodebarros avatar marciodebarros commented on June 26, 2024

Hi Dave. Yes, I defined the schema using the console, but now I am running into a new (expected) issue which I need to resolve before I can validate the .set() issue. Now because I have defined a Unique constraint on some of my Vertices, when I try to add a existing vertex, I get an constraint violation error. In an OGM I was using for Neo4j there was an "add or update" method which would handle that. Does TinkerPop/JanusGraph have a similar option, or would I have to implement it myself? Would this be something that you would eventually consider for implementation on Goblin ?

from goblin.

kevgliss avatar kevgliss commented on June 26, 2024

I'm also interested in an create_or_update functionality it looks like this can be accomplished in one go:

e.g.

g.v('userId').fold().coalesce(unfold(), addV('users').property('id', 'userId'))

But I am not sure how to best do this via goblin's session.

from goblin.

davebshow avatar davebshow commented on June 26, 2024

Do you mean that you would like to issue a traversal like that using Goblins session? Or integrate that functionality into Goblin? The traversal should be straightforward:

# all required imports +
from gremlin_python import statics
# loading statics enables __.unfold() to be unfold() etc.
statics.load_statics(globals())

#... in async function

session = await app.session()
await session.g.V('userId').fold().coalesce(unfold(), addV('users').property('id', 'userId')).iterate()

That is untested, but something like that should work.

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.