Skip to main content

Graph similarity algorithms based on NetworkX.

Project description

graphsim
--------

Graph similarity algorithms based on NetworkX.

**BSD Licensed**

[![Build Status](https://travis-ci.org/caesar0301/graphsim.svg?branch=master)](https://travis-ci.org/caesar0301/graphsim)


Install
-------

First, install building tool:

$ yum install -y scons

On Mac OS:

$ brew install scons

Then install graphsim via PyPI:

$ pip install -U graphsim


Permission Issues
------------------

By default, `sudo` is required to give permission to install cpp modules into system `/usr/local/{lib,include}`.

If you prefer local installation, following instructions may help you:

```bash
export LIBTACSIM_LIB_DIR=~/usr/lib/
export LIBTACSIM_INC_DIR=~/usr/include/

pip install -U graphsim
```

Make sure that the local directories are aware for C linkers:

```bash
export LD_LIBRARY_PATH=~/usr/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=~/usr/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=~/usr/include:$CPLUS_INCLUDE_PATH
```


Coverage
---------

**NOTE**: `libtacsim` was tested on Ubuntu 12.04, Ubuntu 16.04, CentOS 6.5 and Mac OS 10.11.2, 10.13.2.


Usage
-----

>>> import graphsim as gs


Supported algorithms
--------------------

* `gs.ascos`: Asymmetric network Structure COntext Similarity, by Hung-Hsuan Chen et al.
* `gs.nsim_bvd04`: node-node similarity matrix, by Blondel et al.
* `gs.hits`: the hub and authority scores for nodes, by Kleinberg.
* `gs.nsim_hs03`: node-node similarity with mismatch penalty, by Heymans et al.
* `gs.simrank`: A Measure of Structural-Context Similarity, by Jeh et al.
* `gs.simrank_bipartite`: SimRank for bipartite graphs, by Jeh et al.
* `gs.tacsim`: Topology-Attributes Coupling Similarity, by Xiaming Chen et al.
* `gs.tacsim_combined`: A combined topology-attributes coupling similarity, by Xiaming Chen et al.
* `gs.tacsim_in_C`: an efficient implementation of TACSim in pure C.
* `gs.tacsim_combined_in_C`: an efficient implementation of combined TACSim in pure C.


Supported utilities
-------------------

* `gs.normalized`: L2 normalization of vectors, matrices or arrays.
* `gs.node_edge_adjacency`: Obtain node-edge adjacency matrices in source and dest directions.

Citation
----------

```tex
@article{Chen2017,
title = "Discovering and modeling meta-structures in human behavior from city-scale cellular data",
journal = "Pervasive and Mobile Computing ",
year = "2017",
issn = "1574-1192",
doi = "http://dx.doi.org/10.1016/j.pmcj.2017.02.001",
author = "Xiaming Chen and Haiyang Wang and Siwei Qiang and Yongkun Wang and Yaohui Jin"
}
```

Author
------

Xiaming Chen <chenxm35@gmail.com>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphsim-0.2.11.tar.gz (16.5 kB view details)

Uploaded Source

File details

Details for the file graphsim-0.2.11.tar.gz.

File metadata

  • Download URL: graphsim-0.2.11.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for graphsim-0.2.11.tar.gz
Algorithm Hash digest
SHA256 bfe2260abed77451dc9727ca15fcce91be521805a9ff8420811d03001bb428e1
MD5 91aadf409adbafb20458a363e36c7c34
BLAKE2b-256 975958bf26ec6c3d1e4ad2613fde7e7fdb9f42943af03ecb96bad2cff2501ac0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page