logo Netzschleuder network catalog, repository, and centrifuge

History of soc_net_comms

The changes to the source code of this entry in the repository, newest first, each with the differences it made to the entry's files. They are also listed on GitLab.

[entries] Merge duplicate entries and add cross-references between related ones by Tiago de Paula Peixoto 9bc6033
- Removed duplicates, merged into the entries holding the same data:
  dblp_coauthor_snap (soc_net_comms), cattle and bison (dom; bison's
  breeding data move there, as do the wolves' age and sex),
  football_tsevans (football, with both conference assignments),
  eu_procurements_alt (eu_procurements), foursquare_friendships
  (foursquare_global).
- software_dependencies: colt and scolt are one network; ambassador: the
  duplicate 2001 network is dropped and the three same-edge networks
  combined; dom: the dataset count corrected (436).
- macaque_neural: Young's 71-area network added (young71; the 47-area one
  is now cocomac47), both from archived copies.
- collins_yeast, celegans_interactomes: from archived copies of the dead
  CCSB site (byte-identical files).
- Cross-references between entries holding versions of the same data
  (food webs, Wikipedia, Slashdot, physicians, SNAP/Mislove, CCSB).
- ICON ids of duplicate records added; macaque_neural's corrected.
- prosper, dbpedia_all: string properties given in edge-index order (needs
  graph-tool with the fixed vals ordering).
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 4ea9567..8af4799 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -21,11 +21,11 @@ from .. import *
 title = "Networks with group metadata"
 description = """Six large networks with "ground-truth" group memberships of the nodes, assembled by J. Yang and J. Leskovec to evaluate community detection methods, and distributed by the Stanford Network Analysis Project (SNAP). All networks are undirected and unweighted. The groups of each network were turned into communities by taking each connected component of the subgraph induced by a group as a separate community and removing communities with fewer than 3 nodes; a node can belong to any number of communities, including none. For the networks, SNAP provides the largest connected component.
 
-- `livejournal`: users of the LiveJournal blogging platform, connected if they declared friendship. Communities are user-defined groups which other users can join (664,414 communities).
+- `livejournal`: users of the LiveJournal blogging platform, connected if they declared friendship. Communities are user-defined groups which other users can join (664,414 communities). SNAP does not name the source of these data; they are smaller than, and likely derived from, the 2006 LiveJournal crawl of the entry `livejournal` (see also the network `livejournal` of the entry `mislove_osn`).
 - `friendster`: users of the Friendster social networking site (before it relaunched as a gaming website), connected by friendships, with communities given by user-defined groups (1,620,991 communities). The network is the subgraph induced by the nodes that belong to at least one group or are connected to a node that belongs to at least one group. The data were obtained from the Internet Archive.
-- `orkut`: users of the Orkut social network, connected by friendships, with communities given by user-defined groups (15,301,901 communities). Data collected by A. Mislove et al.
-- `youtube`: users of the social network of the YouTube video-sharing website, connected by friendships, with communities given by user-defined groups (16,386 communities). Data collected by A. Mislove et al.
-- `dblp`: co-authorship network of the DBLP computer science bibliography, where two authors are connected if they published at least one paper together. Each publication venue (journal or conference) defines a community, formed by the authors who published there (13,477 communities).
+- `orkut`: users of the Orkut social network, connected by friendships, with communities given by user-defined groups (15,301,901 communities). Data collected by A. Mislove et al.; the directed version of the same crawl, with all 3,072,441 users, is the network `orkut` of the entry `mislove_osn`.
+- `youtube`: users of the social network of the YouTube video-sharing website, connected by friendships, with communities given by user-defined groups (16,386 communities). Data collected by A. Mislove et al.; this is the largest connected component of the undirected version of the network `youtube` of the entry `mislove_osn`.
+- `dblp`: co-authorship network of the DBLP computer science bibliography, where two authors are connected if they published at least one paper together; it is thus a one-mode projection of the bipartite network of authors and publications. Each publication venue (journal or conference) defines a community, formed by the authors who published there (13,477 communities).
 - `amazon`: products of the Amazon website, connected if they are frequently co-purchased, according to the "Customers Who Bought This Item Also Bought" feature, collected by crawling the website. Each product category defines a community (271,570 communities).
 
 The networks have the following properties:
@@ -42,7 +42,8 @@ url = ['https://snap.stanford.edu/data/com-Friendster.html',
 citation = [('J. Yang and J. Leskovec. "Defining and Evaluating Network Communities based on Ground-truth." ICDM, 2012.',
              "http://arxiv.org/abs/1205.6233")]
 icon_hash = ['56a85c8e26855e083a2f78b4',
-             '56a85c8e26855e083a2f7960']
+             '56a85c8e26855e083a2f7960',
+             '56a85c8e26855e083a2f78d0']
 upstream_license = None
 # Too large to process on an ordinary machine (see --skip-huge)
 huge = True
[entries] Fix parse bugs and improve descriptions and metadata by Tiago de Paula Peixoto 6bb6851
- parse fixes from the review of the descriptions, e.g. us_patents
  (directed), celegans_2019 (synapse direction), ecoli_transcription and
  yeast_transcription (regulator to target), bitcoin (direction, phantom
  node), ego_social (Google+ features and circles), scotus_majority,
  arxiv_authors and social_location (as in SNAP), caida_as, dnc, dom,
  mist, reuters and bibsonomy (names on the right nodes), uci_zoo
- every description now states explicitly what the nodes and edges
  represent; corrected titles, years, tags, citations and licences
- the "Hypergraph" tag is removed; very large entries are marked
  `huge = True` (see --skip-huge)
- ICON ids of partial duplicates added (hiv_transmission, congress_bills,
  openflights, dutch_school)
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index fc2a2e0..4ea9567 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -44,6 +44,8 @@ citation = [('J. Yang and J. Leskovec. "Defining and Evaluating Network Communit
 icon_hash = ['56a85c8e26855e083a2f78b4',
              '56a85c8e26855e083a2f7960']
 upstream_license = None
+# Too large to process on an ordinary machine (see --skip-huge)
+huge = True
 upstream_prefix = 'https://snap.stanford.edu/data/bigdata/communities'
 files = [(("com-friendster.ungraph.txt.gz", "com-friendster.all.cmty.txt.gz"), "friendster", ("snap", dict(hashed=True))),
          (("com-lj.ungraph.txt.gz", "com-lj.all.cmty.txt.gz"), "livejournal", ("snap", dict(hashed=True))),
[entries] Fix parse bugs and improve the metadata of existing entries by Tiago de Paula Peixoto c996a0e
From a review of the dataset descriptions against the upstream sources
and papers, and from user reports:

- parse fixes (wrong edge direction or directedness, shifted or
  misnamed properties, merged node identities, duplicated or missing
  edges and nodes, wrong types), e.g. arxiv_citation (the HepTh dates
  were a copy of the HepPh ones; now from the KDD Cup 2003 data),
  eu_procurements, foursquare_global, hiv_transmission, genetic_multiplex,
  gnutella (adds the 05 snapshot), roadnet, macaque_neural, python_dependency
- descriptions rewritten from the upstream sources, documenting every
  property
- corrected titles, citations and DOIs, licences (ustream_license typo,
  the data's own terms), tags and ICON ids
- url lists for entries with several sources or dataset pages
- SocioPatterns entries moved to the site's new data location, with the
  daily networks of sp_infectious and sp_primary_school
- the Michael Fire entries marked as orphans (served from the mirror)
- redundant type forcings removed after the graph-tool coercion fixes
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 5296301..fc2a2e0 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -19,28 +19,31 @@
 from .. import *
 
 title = "Networks with group metadata"
-description = """Snapshots of LiveJournal, Friendster, Orkut, and YouTube online social networks, as well as DBLP and Amazon. Node metadata represents a post hoc definition of a 'community' that a node belongs to, derived from topical labels of the node or interest-based 'groups' that a node links to.[^icon]
+description = """Six large networks with "ground-truth" group memberships of the nodes, assembled by J. Yang and J. Leskovec to evaluate community detection methods, and distributed by the Stanford Network Analysis Project (SNAP). All networks are undirected and unweighted. The groups of each network were turned into communities by taking each connected component of the subgraph induced by a group as a separate community and removing communities with fewer than 3 nodes; a node can belong to any number of communities, including none. For the networks, SNAP provides the largest connected component.
 
-Friendster is an on-line gaming network. Before re-launching as a game website, Friendster was a social networking site where users can form friendship edge each other. Friendster social network also allows users form a group which other members can then join. We consider such user-defined groups as communities. For the social network, we take the induced subgraph of the nodes that either belong to at least one community or are connected to other nodes that belong to at least one community. This data is provided by The Web Archive Project, where the full graph is available. 
+- `livejournal`: users of the LiveJournal blogging platform, connected if they declared friendship. Communities are user-defined groups which other users can join (664,414 communities).
+- `friendster`: users of the Friendster social networking site (before it relaunched as a gaming website), connected by friendships, with communities given by user-defined groups (1,620,991 communities). The network is the subgraph induced by the nodes that belong to at least one group or are connected to a node that belongs to at least one group. The data were obtained from the Internet Archive.
+- `orkut`: users of the Orkut social network, connected by friendships, with communities given by user-defined groups (15,301,901 communities). Data collected by A. Mislove et al.
+- `youtube`: users of the social network of the YouTube video-sharing website, connected by friendships, with communities given by user-defined groups (16,386 communities). Data collected by A. Mislove et al.
+- `dblp`: co-authorship network of the DBLP computer science bibliography, where two authors are connected if they published at least one paper together. Each publication venue (journal or conference) defines a community, formed by the authors who published there (13,477 communities).
+- `amazon`: products of the Amazon website, connected if they are frequently co-purchased, according to the "Customers Who Bought This Item Also Bought" feature, collected by crawling the website. Each product category defines a community (271,570 communities).
 
-LiveJournal is a free on-line blogging community where users declare friendship each other. LiveJournal also allows users form a group which other members can then join.
+The networks have the following properties:
 
-Orkut is a free on-line social network where users form friendship each other. Orkut also allows users form a group which other members can then join.  This data is provided by Alan Mislove et al.
-
-Youtube is a video-sharing web site that includes a social network. In the Youtube social network, users form friendship each other and users can create groups which other users can join. This data is provided by Alan Mislove et al.
-
-The DBLP computer science bibliography provides a comprehensive list of research papers in computer science. We construct a co-authorship network where two authors are connected if they publish at least one paper together. Publication venue, e.g, journal or conference, defines an individual community; authors who published to a certain journal or conference form a community. 
-
-The Amazon Network was collected by crawling the website. It is based on Customers Who Bought This Item Also Bought feature of the Amazon website. If a product i is frequently co-purchased with product j, the graph contains an undirected edge from i to j. Each product category provided by Amazon defines each community. 
-
-[^icon]: Description obtained from the [ICON](https://icon.colorado.edu) project.
-"""
+- `name`: the node identifier in the SNAP files.
+- `communities`: the list of communities the node belongs to, each given by its index (starting from 0) in the list of all communities of the network (file `*.all.cmty.txt` of SNAP)."""
 tags = ["Online", "Social", "Collaboration", "Informational", "Relatedness", "Unweighted", "Metadata"]
-url = 'https://snap.stanford.edu/data/com-Friendster.html'
+url = ['https://snap.stanford.edu/data/com-Friendster.html',
+       'https://snap.stanford.edu/data/com-LiveJournal.html',
+       'https://snap.stanford.edu/data/com-Orkut.html',
+       'https://snap.stanford.edu/data/com-Youtube.html',
+       'https://snap.stanford.edu/data/com-DBLP.html',
+       'https://snap.stanford.edu/data/com-Amazon.html']
 citation = [('J. Yang and J. Leskovec. "Defining and Evaluating Network Communities based on Ground-truth." ICDM, 2012.',
              "http://arxiv.org/abs/1205.6233")]
-icon_hash = '56a85c8e26855e083a2f78b4'
-ustream_license = None
+icon_hash = ['56a85c8e26855e083a2f78b4',
+             '56a85c8e26855e083a2f7960']
+upstream_license = None
 upstream_prefix = 'https://snap.stanford.edu/data/bigdata/communities'
 files = [(("com-friendster.ungraph.txt.gz", "com-friendster.all.cmty.txt.gz"), "friendster", ("snap", dict(hashed=True))),
          (("com-lj.ungraph.txt.gz", "com-lj.all.cmty.txt.gz"), "livejournal", ("snap", dict(hashed=True))),
Update copyright information by Tiago de Paula Peixoto 73a4f0d
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 0a29bae..5296301 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -1,7 +1,7 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2020-2024 Tiago de Paula Peixoto <tiago@skewed.de>
+# Copyright (C) 2020-2026 Tiago de Paula Peixoto <tiago@skewed.de>
 #
 # This program is free software: you can redistribute it and/or modify it under
 # the terms of the GNU Affero General Public License as published by the Free
Update copyright information by Tiago de Paula Peixoto 3d288ea
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index ec4e079..0a29bae 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -1,7 +1,7 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2020-2023 Tiago de Paula Peixoto <tiago@skewed.de>
+# Copyright (C) 2020-2024 Tiago de Paula Peixoto <tiago@skewed.de>
 #
 # This program is free software: you can redistribute it and/or modify it under
 # the terms of the GNU Affero General Public License as published by the Free
Update copyright information by Tiago de Paula Peixoto 8d005ae
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index cf2bd02..ec4e079 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -1,7 +1,7 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2021 Tiago de Paula Peixoto <tiago@skewed.de>
+# Copyright (C) 2020-2023 Tiago de Paula Peixoto <tiago@skewed.de>
 #
 # This program is free software: you can redistribute it and/or modify it under
 # the terms of the GNU Affero General Public License as published by the Free
Update copyright info by Tiago de Paula Peixoto db2efcc
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 4dd832f..cf2bd02 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -1,7 +1,7 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2020 Tiago de Paula Peixoto <tiago@skewed.de>
+# Copyright (C) 2021 Tiago de Paula Peixoto <tiago@skewed.de>
 #
 # This program is free software: you can redistribute it and/or modify it under
 # the terms of the GNU Affero General Public License as published by the Free
Update citations to use DOIs by Tiago de Paula Peixoto e878874
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 91da023..4dd832f 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -37,7 +37,7 @@ The Amazon Network was collected by crawling the website. It is based on Custome
 """
 tags = ["Online", "Social", "Collaboration", "Informational", "Relatedness", "Unweighted", "Metadata"]
 url = 'https://snap.stanford.edu/data/com-Friendster.html'
-citation = [("J. Yang and J. Leskovec. Defining and Evaluating Network Communities based on Ground-truth. ICDM, 2012.",
+citation = [('J. Yang and J. Leskovec. "Defining and Evaluating Network Communities based on Ground-truth." ICDM, 2012.',
              "http://arxiv.org/abs/1205.6233")]
 icon_hash = '56a85c8e26855e083a2f78b4'
 ustream_license = None
Change license from GPLv3 to AGPLv3 by Tiago de Paula Peixoto d754be5
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index caf89f0..91da023 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -3,18 +3,18 @@
 #
 # Copyright (C) 2020 Tiago de Paula Peixoto <tiago@skewed.de>
 #
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
+# details.
 #
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU Affero General Public License along
+# with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from .. import *
 
Add explicit attribution to descriptions obtained from ICON by Tiago de Paula Peixoto 1645314
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
index 8693113..caf89f0 100644
--- a/entries/soc_net_comms/__init__.py
+++ b/entries/soc_net_comms/__init__.py
@@ -19,7 +19,7 @@
 from .. import *
 
 title = "Networks with group metadata"
-description = """Snapshots of LiveJournal, Friendster, Orkut, and YouTube online social networks, as well as DBLP and Amazon. Node metadata represents a post hoc definition of a 'community' that a node belongs to, derived from topical labels of the node or interest-based 'groups' that a node links to.
+description = """Snapshots of LiveJournal, Friendster, Orkut, and YouTube online social networks, as well as DBLP and Amazon. Node metadata represents a post hoc definition of a 'community' that a node belongs to, derived from topical labels of the node or interest-based 'groups' that a node links to.[^icon]
 
 Friendster is an on-line gaming network. Before re-launching as a game website, Friendster was a social networking site where users can form friendship edge each other. Friendster social network also allows users form a group which other members can then join. We consider such user-defined groups as communities. For the social network, we take the induced subgraph of the nodes that either belong to at least one community or are connected to other nodes that belong to at least one community. This data is provided by The Web Archive Project, where the full graph is available. 
 
@@ -33,6 +33,7 @@ The DBLP computer science bibliography provides a comprehensive list of research
 
 The Amazon Network was collected by crawling the website. It is based on Customers Who Bought This Item Also Bought feature of the Amazon website. If a product i is frequently co-purchased with product j, the graph contains an undirected edge from i to j. Each product category provided by Amazon defines each community. 
 
+[^icon]: Description obtained from the [ICON](https://icon.colorado.edu) project.
 """
 tags = ["Online", "Social", "Collaboration", "Informational", "Relatedness", "Unweighted", "Metadata"]
 url = 'https://snap.stanford.edu/data/com-Friendster.html'
Initial commit by Tiago de Paula Peixoto cc85872
diff --git a/entries/soc_net_comms/__init__.py b/entries/soc_net_comms/__init__.py
new file mode 100644
index 0000000..8693113
--- /dev/null
+++ b/entries/soc_net_comms/__init__.py
@@ -0,0 +1,77 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2020 Tiago de Paula Peixoto <tiago@skewed.de>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from .. import *
+
+title = "Networks with group metadata"
+description = """Snapshots of LiveJournal, Friendster, Orkut, and YouTube online social networks, as well as DBLP and Amazon. Node metadata represents a post hoc definition of a 'community' that a node belongs to, derived from topical labels of the node or interest-based 'groups' that a node links to.
+
+Friendster is an on-line gaming network. Before re-launching as a game website, Friendster was a social networking site where users can form friendship edge each other. Friendster social network also allows users form a group which other members can then join. We consider such user-defined groups as communities. For the social network, we take the induced subgraph of the nodes that either belong to at least one community or are connected to other nodes that belong to at least one community. This data is provided by The Web Archive Project, where the full graph is available. 
+
+LiveJournal is a free on-line blogging community where users declare friendship each other. LiveJournal also allows users form a group which other members can then join.
+
+Orkut is a free on-line social network where users form friendship each other. Orkut also allows users form a group which other members can then join.  This data is provided by Alan Mislove et al.
+
+Youtube is a video-sharing web site that includes a social network. In the Youtube social network, users form friendship each other and users can create groups which other users can join. This data is provided by Alan Mislove et al.
+
+The DBLP computer science bibliography provides a comprehensive list of research papers in computer science. We construct a co-authorship network where two authors are connected if they publish at least one paper together. Publication venue, e.g, journal or conference, defines an individual community; authors who published to a certain journal or conference form a community. 
+
+The Amazon Network was collected by crawling the website. It is based on Customers Who Bought This Item Also Bought feature of the Amazon website. If a product i is frequently co-purchased with product j, the graph contains an undirected edge from i to j. Each product category provided by Amazon defines each community. 
+
+"""
+tags = ["Online", "Social", "Collaboration", "Informational", "Relatedness", "Unweighted", "Metadata"]
+url = 'https://snap.stanford.edu/data/com-Friendster.html'
+citation = [("J. Yang and J. Leskovec. Defining and Evaluating Network Communities based on Ground-truth. ICDM, 2012.",
+             "http://arxiv.org/abs/1205.6233")]
+icon_hash = '56a85c8e26855e083a2f78b4'
+ustream_license = None
+upstream_prefix = 'https://snap.stanford.edu/data/bigdata/communities'
+files = [(("com-friendster.ungraph.txt.gz", "com-friendster.all.cmty.txt.gz"), "friendster", ("snap", dict(hashed=True))),
+         (("com-lj.ungraph.txt.gz", "com-lj.all.cmty.txt.gz"), "livejournal", ("snap", dict(hashed=True))),
+         (("com-orkut.ungraph.txt.gz", "com-orkut.all.cmty.txt.gz"), "orkut", ("snap", dict(hashed=True))),
+         (("com-youtube.ungraph.txt.gz", "com-youtube.all.cmty.txt.gz"), "youtube", ("snap", dict(hashed=True))),
+         (("com-dblp.ungraph.txt.gz", "com-dblp.all.cmty.txt.gz"), "dblp", ("snap", dict(hashed=True))),
+         (("com-amazon.ungraph.txt.gz", "com-amazon.all.cmty.txt.gz"), "amazon", ("snap", dict(hashed=True)))]
+
+def fetch_upstream(force=False):
+    return fetch_upstream_files(__name__.split(".")[-1], upstream_prefix, files,
+                                force)
+
+@cache_network()
+@coerce_props()
+@annotate()
+def parse(alts=None):
+    global files
+    name = __name__.split(".")[-1]
+    for fnames, alt, fmt in files:
+        if alts is not None and alt not in alts:
+            continue
+        if isinstance(fnames, str):
+            fnames = [fnames]
+        with ExitStack() as stack:
+            fs = [stack.enter_context(open_upstream_file(name, fn, "rb")) for fn in fnames]
+            g = parse_graph([fs[0]], fmt, directed=False)
+            vs = {g.vp.name[v] : v for v in g.vertices()}
+            g.vp.communities = c = g.new_vp("vector<int>")
+
+            with io.TextIOWrapper(fs[1], "utf8") as f:
+                for i, line in enumerate(f):
+                    for x in line.split():
+                        v = vs[int(x)]
+                        c[v].append(i)
+        yield alt, g