davidhstocker / Graphyne

Graphyne is a smart graph - a property graph capable to actively reacting to changes and incorporating decision making logic, written in Python. It is designed to be easy to integrate into your Python projects, simple to use and very powerful. It uses Memetic as its graph definition and query language. It is capable of running with or without persistence.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add/Remove/Update link attributes api command

davidhstocker opened this issue · comments

Right now, link attributes are set when when a link is created between two entities. They are then frozen in time. This is not a critical showstopper... yet.

The Problems

1 - It could become a potential performance issue. Two entities may share n links. I can always add more links with new attributes. If I have a large number of link attributes, I may want to start condensing them where possible, in order to increase performance.

2 - Right now, updating a link is a two step process. use graph.api.removeEntityLink() to remove the existing link (filtering for the desired attribute) and then graph.api.addEntityLink(). What if the link has other attributes?

Gotchas and Things to Consider

We should not replace this workflow with another two step - get Link, update attribute - one. We're going to need an SQL style where clause; ideally using the same syntax that we already use with the link attribute filters of traverse paths.