support for hyper-edges?


mcha...@...
 

The titan 1 docs and the janusgraph docs both claim support for using unidirected edges to make hyper-edges - but the examples in the docs fail with the message "

The type of given name is not a key:"


looking at the code for .property(String key, Object val), it appears that if the key is not a PropertyKey, the method will fail.


I have alot of code using titan 0.5 that is leveraging this feature: is support for it going away?


Jean-Baptiste Musso <jbm...@...>
 

On a data model side, are you 100% sure that you need hyperedges?
Hypergraphs are generalization of graphs so with the TinkerPop data model ("directed, binary, attributed multi-graph"), maybe you'd be better off modeling your hyperedges as vertices (see https://en.wikipedia.org/wiki/Hypergraph).
Performance aside, using hyperedges could make it harder for you to evolve your schema or express certain queries in the long run.

Sorry for not directly answering your questions, I'm not too familiar with JanusGraph nowadays. I'm just thinking that your problem could be expressed in a different way, although obviously you want to avoid refactoring your code.

Jean-Baptiste

On Fri, Oct 27, 2017 at 7:53 PM, <mcha...@...> wrote:
The titan 1 docs and the janusgraph docs both claim support for using unidirected edges to make hyper-edges - but the examples in the docs fail with the message "

The type of given name is not a key:"


looking at the code for .property(String key, Object val), it appears that if the key is not a PropertyKey, the method will fail.


I have alot of code using titan 0.5 that is leveraging this feature: is support for it going away?

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/3f04a34d-2b13-4148-b96d-0cf8b54c3d3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Jason Plurad <plu...@...>
 

You're right, I don't think that the hyper-edges example works in Titan 1.0.0.
I went back, and it doesn't looks like it worked with Titan 0.9.0-M2 either (TinkerPop 3.0.0.M9-incubating).
I've opened up an issue to track this. Let's continue the discussion there.


On Sunday, October 29, 2017 at 5:56:31 AM UTC-4, Jean-Baptiste Musso wrote:
On a data model side, are you 100% sure that you need hyperedges?
Hypergraphs are generalization of graphs so with the TinkerPop data model ("directed, binary, attributed multi-graph"), maybe you'd be better off modeling your hyperedges as vertices (see https://en.wikipedia.org/wiki/Hypergraph).
Performance aside, using hyperedges could make it harder for you to evolve your schema or express certain queries in the long run.

Sorry for not directly answering your questions, I'm not too familiar with JanusGraph nowadays. I'm just thinking that your problem could be expressed in a different way, although obviously you want to avoid refactoring your code.

Jean-Baptiste

On Fri, Oct 27, 2017 at 7:53 PM, Michael Chase wrote:
The titan 1 docs and the janusgraph docs both claim support for using unidirected edges to make hyper-edges - but the examples in the docs fail with the message "

The type of given name is not a key:"


looking at the code for .property(String key, Object val), it appears that if the key is not a PropertyKey, the method will fail.


I have alot of code using titan 0.5 that is leveraging this feature: is support for it going away?

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/3f04a34d-2b13-4148-b96d-0cf8b54c3d3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.