Closed u3Izx9ql7vW4 closed 8 months ago
Thank you, this is useful reference but you are requesting to change pretty much all core functions, data structures, and concepts.
I can't imagine any of us having time for such a broad restructuring, esp. Since @ntamas is already redesigning the Python interface. But point taken, a few ideas might turn out useful.
I'll leave open in case someone else wants to comment.
I agree with @iosonofabio and building an object-graph model is probably outside the context of python-igraph
; the goal of this package is to provide a Python wrapper to the igraph C library and not to build an API to an underlying relational database. Closing the issue to keep the issue tracker clean but feel free to comment nevertheless.
Thank you, this is useful reference but you are requesting to change pretty much all core functions, data structures, and concepts.
I can't imagine any of us having time for such a broad restructuring, esp. Since @ntamas is already redesigning the Python interface. But point taken, a few ideas might turn out useful.
I'll leave open in case someone else wants to comment.
I see thanks for your feedback. May I ask if the redesign of the Python interface that's currently under way will change the way edges and nodes are created and connected, as presently reflected in igraph's documentation? The reason I ask is that I may build an adapter on top of igraph, as I have existing code that uses Neo4j that needs to be migrated to something faster, and ideally I'd wait until igraph's api is stable
Don't worry too much and migrate now, I'd say. The current codebase works and will do so in the foreseeable future.
What is the feature or improvement you would like to see? An object graph model similar to Neo4j's neomodel package. Here's an example of the API lifted from their documentation:
Defining Nodes:
Create, Update, Delete operations
Retrieving Nodes
Relationships
Use cases for the feature The above API is a little easier to work with when dealing with objects, and offers greater flexibility than the array representation found in igraph's documentation for both adding edges and setting attributes.
Graphs with many hierarchical structures, such as
Countries > States > Municipals > Cities > Groups > Persons
may be easier to construct with an OGM-based model than igraph's existing method.References Neomodels Github Neomodel's documentation Neomodel's Getting Started Examples