Skip to content
Little Ball of Fur - A NetworkX extension library for graph sampling.
Python
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dataset Datasets May 9, 2020
docs SB May 20, 2020
littleballoffur Little Ball of Fur May 28, 2020
.gitignore modify May 3, 2020
LICENSE Add files via upload May 3, 2020
README.md SB May 20, 2020
examples.py SB May 20, 2020
littleballoffurlogo.jpg Little Ball of Fur Logo May 28, 2020
readthedocs.yml Add files via upload May 3, 2020
setup.cfg Add files via upload May 3, 2020
setup.py Little Ball of Fur May 28, 2020

README.md

Version License PyPI download month


Little Ball of Fur is a graph sampling extension library for NetworkX.

Please look at the Documentation and External Resources.

Little Ball of Fur consists of methods that can sample from graph structured data. To put it simply it is a Swiss Army knife for graph sampling tasks. First, it includes a large variety of vertex, edge, and exploration sampling techniques. Second, it provides a unified application public interface which makes the application of sampling algorithms trivial for end-users. Implemented methods cover a wide range of networking (Networking, INFOCOM, SIGCOMM) and data mining (KDD, TKDD, ICDE) conferences, workshops, and pieces from prominent journals.


Citing

If you find Little Ball of Fur and the new datasets useful in your research, please consider citing the following paper:

>@misc{littleballoffur2020,
       title={Little Ball of Fur: A Python Library for Graph Subsampling},
       author={Benedek Rozemberczki and Oliver Kiss},
       year={2020},
}

A simple example

Little Ball of Fur makes using modern graph subsampling techniques quite easy (see here for the accompanying tutorial). For example, this is all it takes to use Random Walk Sampling on a Watts-Strogatz graph:

import networkx as nx
from littleballoffur import RandomWalkSampler

graph = nx.newman_watts_strogatz_graph(1000, 20, 0.05)

sampler = RandomWalkSampler()

new_graph = sampler.sample(graph)

Methods included

In detail, the following sampling methods were implemented.

Node Sampling

Edge Sampling

Exploration Based Sampling

Head over to our documentation to find out more about installation and data handling, a full list of implemented methods, and datasets. For a quick start, check out our examples.

If you notice anything unexpected, please open an issue and let us know. If you are missing a specific method, feel free to open a feature request. We are motivated to constantly make Little Ball of Fur even better.


Installation

Little Ball of Fur can be installed with the following pip command.

$ pip install littleballoffur

As we create new releases frequently, upgrading the package casually might be beneficial.

$ pip install littleballoffur --upgrade

Running examples

As part of the documentation we provide a number of use cases to show how to use various sampling techniques. These can accessed here with detailed explanations.

Besides the case studies we provide synthetic examples for each model. These can be tried out by running the examples script.

$ python examples.py
You can’t perform that action at this time.