logo Netzschleuder network catalog, repository, and centrifuge

History of mag_cs_coauthor

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] Use American spelling in the descriptions by Tiago de Paula Peixoto 802d564
British spellings in the titles and descriptions of 69 entries (e.g.
labelled, organisation, millimetres, centres, anonymised, neighbours,
analysed, modelled, colour, licence) are replaced by the American ones.
Proper names keep their spelling (Otago Harbour, the Centre for Water
Systems, the Centre jeunesse de Montréal, the Dutch Ministry of Defence),
as do quoted upstream terms, citations, and property names.
diff --git a/entries/mag_cs_coauthor/__init__.py b/entries/mag_cs_coauthor/__init__.py
index a2cd14e..d2ca0e9 100644
--- a/entries/mag_cs_coauthor/__init__.py
+++ b/entries/mag_cs_coauthor/__init__.py
@@ -19,7 +19,7 @@
 from .. import *
 
 title = "Computer science coauthor teams in ten conferences (MAG, 2020)"
-description = """A bipartite network of computer science authors and the distinct teams of coauthors that published together in ten major conferences, compiled by Amburg, Veldt and Benson from the Microsoft Academic Graph (MAG). The conferences are KDD, WWW, ICML, NeurIPS, STOC, FOCS, CVPR, ICCV, VLDB and SIGMOD. Each team node is a distinct set of authors that appear together on at least one paper from these venues; a set of authors that published several papers is represented only once, and is labelled by the conference where it published most often (sets with a tie between conferences were discarded). An edge connects each team to each of its member authors. Papers with more than 25 authors were omitted, so teams have between 2 and 25 members. Author names and publication dates are not included in the source data, and authors that appear in no team are not included.
+description = """A bipartite network of computer science authors and the distinct teams of coauthors that published together in ten major conferences, compiled by Amburg, Veldt and Benson from the Microsoft Academic Graph (MAG). The conferences are KDD, WWW, ICML, NeurIPS, STOC, FOCS, CVPR, ICCV, VLDB and SIGMOD. Each team node is a distinct set of authors that appear together on at least one paper from these venues; a set of authors that published several papers is represented only once, and is labeled by the conference where it published most often (sets with a tie between conferences were discarded). An edge connects each team to each of its member authors. Papers with more than 25 authors were omitted, so teams have between 2 and 25 members. Author names and publication dates are not included in the source data, and authors that appear in no team are not included.
 
 The network has the following properties:
 
[entries] New entry: mag_cs_coauthor by Tiago de Paula Peixoto 50ff4a4
diff --git a/entries/mag_cs_coauthor/__init__.py b/entries/mag_cs_coauthor/__init__.py
new file mode 100644
index 0000000..a2cd14e
--- /dev/null
+++ b/entries/mag_cs_coauthor/__init__.py
@@ -0,0 +1,68 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# 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
+# 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 Affero General Public License for more
+# details.
+#
+# 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 *
+
+title = "Computer science coauthor teams in ten conferences (MAG, 2020)"
+description = """A bipartite network of computer science authors and the distinct teams of coauthors that published together in ten major conferences, compiled by Amburg, Veldt and Benson from the Microsoft Academic Graph (MAG). The conferences are KDD, WWW, ICML, NeurIPS, STOC, FOCS, CVPR, ICCV, VLDB and SIGMOD. Each team node is a distinct set of authors that appear together on at least one paper from these venues; a set of authors that published several papers is represented only once, and is labelled by the conference where it published most often (sets with a tie between conferences were discarded). An edge connects each team to each of its member authors. Papers with more than 25 authors were omitted, so teams have between 2 and 25 members. Author names and publication dates are not included in the source data, and authors that appear in no team are not included.
+
+The network has the following properties:
+
+- `is_team`, whether the node is a team of coauthors (otherwise an author).
+- Author nodes: `author_id`, the (1-based) author identifier in the source data.
+- Team nodes: `venue`, the conference where the team published most often (one of the ten names above). In the source data one team (authors 8, 12 and 57248) has an invalid venue code (67279); its venue is left empty."""
+tags = ['Social', 'Collaboration', 'Unweighted', 'Metadata']
+url = 'https://www.cs.cornell.edu/~arb/data/cat-edge-MAG-10/'
+citation = [('I. Amburg, N. Veldt, A. R. Benson, "Clustering in graphs and hypergraphs with categorical edge labels." Proceedings of The Web Conference 2020, 706-717 (2020)', 'https://doi.org/10.1145/3366423.3380152'),
+            ('A. Sinha, Z. Shen, Y. Song, H. Ma, D. Eide, B.-J. Hsu, K. Wang, "An Overview of Microsoft Academic Service (MAS) and Applications." Proceedings of the 24th International Conference on World Wide Web (Companion), 243-246 (2015)', 'https://doi.org/10.1145/2740908.2742839')]
+icon_hash = None
+upstream_license = None
+upstream_prefix = 'gdrive://'
+files = [(('1qE0SRcFtLYtNtMS6VB7CjirV8rugTcrT:zip:cat-edge-MAG-10/hyperedges.txt',
+           '1qE0SRcFtLYtNtMS6VB7CjirV8rugTcrT:zip:cat-edge-MAG-10/hyperedge-labels.txt',
+           '1qE0SRcFtLYtNtMS6VB7CjirV8rugTcrT:zip:cat-edge-MAG-10/hyperedge-label-identities.txt'),
+          None, None)]
+
+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
+        with ExitStack() as stack:
+            fs = [stack.enter_context(open_upstream_file(name, fn, "r")) for fn in fnames]
+            groups, members, n = read_hyperedges(fs[0], sep="\t")
+            labels = read_ints(fs[1])
+            venues = [l.strip() for l in fs[2].read().splitlines() if l.strip()]
+            # Only the authors that occur in some team
+            used, members = numpy.unique(members, return_inverse=True)
+            g = bipartite_graph(groups, members, n, len(used), "is_team")
+            g.vp.author_id = g.new_vp("int")
+            g.vp.author_id.a[:len(used)] = used + 1
+            g.vp.venue = g.new_vp("string")
+            for i, l in enumerate(labels):
+                if 1 <= l <= len(venues):
+                    g.vp.venue[len(used) + i] = venues[l - 1]
+        yield alt, g