Multipartit Graphs

User 533 | 7/31/2014, 10:44:10 AM


is it possible to model multipartit Graphs in graphlab create and how can i do it?

In Graphx this is possible: "In some cases it may be desirable to have vertices with different property types in the same graph. This can be accomplished through inheritance. For example to model users and products as a bipartite graph we might do the following:

class VertexProperty() case class UserProperty(val name: String) extends VertexProperty case class ProductProperty(val name: String, val price: Double) extends VertexProperty // The graph might then have the type: var graph: Graph[VertexProperty, String] = null"

i really like the easy to use python interface of graphlab create so it would be awesome if i dont have to work with graphx (yet another tool to learn :neutral_face:

thanks in advance


User 14 | 7/31/2014, 6:08:48 PM

Hi hedata,

Yes, we've actually thought about this and built it in SGraph, which we call a vertex group. However, the challenge is to keep a good balance between a expressive and clean API so we are not yet ready to expose it to the python frontend.

In the current GraphLab Create, you need to put different vertex groups in one SFrame, sharing the same schema. You can use an additional column to indicate the vertex type. You might have concern that forcing different vertex type into one column schema may result in many missing values, for example, the price column will be None for all user vertices. But consecutive missing values will be heavily compressed, so it is not a performance issue.

We are very interested in chatting about the your use case. Please contact Shawn if you want to chat more.

Best, -jay

User 533 | 8/1/2014, 9:36:38 AM

thank you i will come back to you guys

and actually i have got 2 usecases which i currently evaluate technologies for. I will have further information next week since i will meet my college for the other usecase tonight