Do you know of some nice attributed graph datasets I can use? To be more clear I need some dataset such that:

  1. There are nodes (for example proteins, users, sensors)
  2. There are edges (for example interaction between proteins, friendship between users, proximity between sensors)
  3. There are attributes for each node (for example some properties of the proteins/gene expressions, descriptions of the users, the sensor data, etc.)

Then given the network structure (nodes and edges) and given the node attributes I want to do some classification/clustering. Therefore it would be nice if there is some ground truth as well.

I did find these co-authorship network datasets.

Most of the other node-attributed datasets I found have simple binary/categorical attributes, however I am more interested in numeric attributes. However, any attributed graph dataset would be appreciated.


2 Answers 2


The Stanford Large Network Dataset Collection should contain some data sets of interest to you.

  • I am aware of snap already, should have mentioned that in the question. Thank you for suggesting it though. It does indeed have some useful datasets. May 3, 2016 at 7:21

It depends on the kind of analysis you want to perform. Lets refer to biological networks (you can check this link and see if there is something which fit your request: http://dp.univr.it/~laudanna/LCTST/downloads/index.html). To stick to this link i think that the file Gene_To_Pathway.NA could be used to generate an attribute file which adds a (sort of) biological layer to the network you can reconstruct by using the Human_Interactome.sif.

Of course if you're looking for biological networks there are a lot of databases which stores information about all kind of molecular interactions. String (string-db.org) for example contains a lot of networks for a lot of organisms and some information about orthologous proteins which can be used (it requires some preliminary editing) as attribute.

I imagine that, when you say that numerical attributes are better, you're referring to edges attributes which weigh, somehow, the interaction between two nodes...am i right (in this case i suggest looking for gene co-expression networks)? Otherwise what do you mean with numerical attributes?

  • Let's say we have the following scenario: each node is a gene and each edge indicates gene interactions. So we have the network we want. Then for the attributed part, we also have the gene expression (let's say a D-dimensional real valued vector) associated with each of those nodes/genes. This would be the prefect node-attributed graph that I want to model. And I can extract such graph and perform clustering/classification on the genes, given the attributes and the network structure. The problem is that there is no ground truth to evaluate my results. May 4, 2016 at 14:36
  • Another example would be: nodes are users on a social site, edges indicate friendship, and the attributes associated with each node describe the user (e.g. demographic info). The idea is that if you perform clustering using both sources of information i.e. the attribute data and the network structure, you would end up with clusters such that: 1) people in the same cluster are more likely to be connected in the network and 2) the distribution of their attributes is similar. May 4, 2016 at 14:44
  • is that biclustering you're performing (just a curiosity!)? the first comment about biological networks: the groundtruth, as far as i know, requires detailed lab experiments to validate your findings. Otherwise you can use a randomised network (and which model to use for the randomisation is up to you) in order to perform the same clustering and see if it fits the knowledge you have about the nodes. From your second comment it seems that the knowledge could be categorical but it depends on which parameters you're using to cluster the nodes, i suppose
    – gabt
    May 4, 2016 at 15:01
  • Not necessarily biclustering, just unsupervised learning in general. Regarding the ground truth, yeah seems that way. What I've also seen in some papers is people use some related lab results from patients (e.g. cancer) to formulate what the ground truth is. May 9, 2016 at 7:38
  • yes, the usual methodology for validating biological networks analysis results are clinical data, or some sort of (a priori) biological knowledge (e.g. network enrichment by using, for instance, GeneOntology), gene expression or co-expression and so on. With social networks it seems easier since you can associate some attributes to nodes and they can be used to infer some sort of assumptions you made about the expected results.
    – gabt
    May 9, 2016 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.