SciPy

Source code for tethne.networks.papers

"""
Methods for generating networks in which papers are vertices.

.. autosummary::
   :nosignatures:

   author_coupling
   bibliographic_coupling
   cocitation
   direct_citation
   topic_coupling

"""

from tethne.networks.base import multipartite, coupling, cooccurrence


[docs]def direct_citation(corpus, min_weight=1, **kwargs): """ A directed paper-citation network. Direct-citation graphs are `directed acyclic graphs`__ in which vertices are papers, and each (directed) edge represents a citation of the target paper by the source paper. The :func:`.networks.papers.direct_citation` method generates both a global citation graph, which includes all cited and citing papers, and an internal citation graph that describes only citations among papers in the original dataset. """ return multipartite(corpus, ['citations'], min_weight=min_weight, **kwargs)
[docs]def bibliographic_coupling(corpus, min_weight=1, **kwargs): """ Generate a bibliographic coupling network. Two papers are **bibliographically coupled** when they both cite the same, third, paper. """ return coupling(corpus, 'citations', min_weight=min_weight, **kwargs)
[docs]def cocitation(corpus, min_weight=1, edge_attrs=['ayjid', 'date'], **kwargs): """ Generate a cocitation network. A **cocitation network** is a network in which vertices are papers, and edges indicate that two papers were cited by the same third paper. `CiteSpace <http://cluster.cis.drexel.edu/~cchen/citespace/doc/jasist2006.pdf>`_ is a popular desktop application for co-citation analysis, and you can read about the theory behind it `here <http://cluster.cis.drexel.edu/~cchen/citespace/>`_. """ return cooccurrence(corpus, 'citations', min_weight=min_weight, edge_attrs=edge_attrs, **kwargs)
[docs]def author_coupling(corpus, min_weight=1, **kwargs): return coupling(corpus, 'authors', min_weight=min_weight, **kwargs)