lod-cloud / lod-cloud-draw

LOD Cloud Drawing Tool
Apache License 2.0
44 stars 12 forks source link

LOD Cloud Draw

This is a tool for creating linked open data cloud diagrams, such as those found at http://lod-cloud.net/.

Installation

This project is written in Rust and can be compiled with Cargo as follows

cargo build --release

This will create a binary under target/release/lod-cloud-draw that can be used to create cloud diagrams

Requirements

To use this library you must have gfortran installed in your pc

Details

Tool used to create LOD cloud diagrams as SVG. The cloud is created as a minimization of the following function:

f(V,E) = s sum_{e} spring(e) + r sum{v1} sum{v2} repulse(v1, v2, d) + w * sum_{v} well(v, c)

Where:

And s,r,w are tuning constants

Usage

lod-cloud-draw [OPTIONS] <data.json> <output.svg>

FLAGS

-h, --help       Prints help information
-V, --version    Prints version information

OPTIONS

    --algorithm <cg|lbfgsb>          The algorithm used to find the cloud diagram (cg=Conjugate
                                     Gradient or lbfgsb = Limited BFGS)
-w, --well <FORCE>                   The value of the well boundary force
    --canvas-rigidity <FACTOR>       The rigidity of the well
-c, --canvas <PIXELS>                The radius of the circle that the bubbles should be contained in
    --ident <none|neighbour|tags>    The algorithm used to identify domain (bubble colours) of unidentified datasets
-i, --max-iters <ITERATIONS>         The maximum number of iterations to perform (default=10000)
-n, --n-blocks <BLOCKS>              Apply an n x n blocking method to speed up the algorithm 
                                     (default=1, no blocking)
-r, --repulse <FORCE>                The value of the repulsion force
-d, --distance <PIXELS>              The minimal distance between bubbles
    --repulse-rigidity <FACTOR>      The rigidity of repulsion between bubbles
-e, --settings <settings.json>       The JSON file containing the settings for the system
-s, --spring <FORCE>                 The value of the spring force

ARGS

<data.json>     The data of the LOD cloud
<output.svg>    The path of the SVG file to write to

Settings

In order to create a cloud diagram a settings file is required, this is a JSON file as follows

Legend entries consist of the following

Examples of this may be found under the clouds folder

Data

Data may be obtained from the following URL

https://lod-cloud.net/lod-data.json

Rebuilding from the live version can be done with the following command

python3 scripts/get-data.py