11

@dfox I recently started playing around with Neo4j and find it really fun to work with. Would there be any way to get hold of parts of the devRant graph/graphs? Not private or secret stuff of course - only public parts of rants, tags and users. It would be fun to to play around with and analyze.

Comments
  • 3
  • 3
  • 3
    Wasn't the whole concept of it that you can send it your own query the same way the app does and it'll return you the schema/data?
  • 4
    @JoshBent I believe that's GraphQL you're thinking of :)
  • 3
    @ScriptCoded oh, thought all those are the same in that regard, nevermind then :)
  • 4
    @JoshBent Ah, GraphQL is a query language that connects the server and the client. Neo4j is a graph database that uses Cypher Query Language to query the database. That in turn can be connected to the client using GraphQL ;)
  • 5
    @ScriptCoded how confusing haha
  • 4
    @ScriptCoded i second you!

    MATCH (a:Developer {name: "@ScriptCoded"}-[:RANTS_AT]->()<-[:RANTED_AT]-(b:Developer {name: "@dfox"})-[:RANT_POST]->(thisrant)
    RETURN thisrant.title
  • 5
    Sorry, missed this the first time around.

    @ScriptCoded That data would be ok to play with, but depending on how I would put it together I would worry that somehow private data or something would be overlooked in any export. Let me see if there’s anything I can do.

    In the meantime, let me know if you have any Neo4j questions. I’m happy to help and love helping people with it.

    How are you liking it so far?
  • 2
    @dfox No worries, it would be great fun to play around with :)

    I've actually struggled with finding info about how to handle categories/tags. Say that I have a data set where I might have an infinite amount of categories, or tags, like devRant. Would it be best practice to keep track of them with labels or actual nodes representing the tags? I feel like nodes would be the way to go, but at the same time I'm guessing there might be some difference in performance.

    Oh, and right, I'm enjoying it big time. It's a completely different way to think about when coming from SQL, but when you wrap your head around it it makes so much more sense than storing it in tabular form (in most cases). Also, having such an easy way to visualize data is pretty cool :)
  • 5
    @ScriptCoded glad to hear it’s going well!

    And that’s a great question. I’ve seen that data modeled in a few ways, but I think the way you described of having each tag be a node is the most common/effective for most use-cases.

    For tags on devRant, we have a node for each tag and rants have relationships, ex HAS_TAG that goes from the rant node to each tag node.
  • 3
    @dfox Gotcha, thanks :) So would you say labels should be strictly used for "static" classification? Like :Tag or :Rant?
  • 5
    @ScriptCoded yup, I think that’s exactly right. At least that’s how I have always used them.
Add Comment