This is a tool for creating linked open data cloud diagrams, such as those found at http://lod-cloud.net/.
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
To use this library you must have gfortran installed in your pc
- for windows use fortran compiler provided by mingw or TDM-GCC
- for linux you can use the package manager to install gfortran
- for Mac os you can install it from here or here
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:
- spring(e): Measures the length of a link in the cloud
- repulse(v1, v2, d): Indicates if v1 and v2 are within a distance of d
- well(v, c): Indicates if v is contained within a circle (well) of radius c
And s,r,w are tuning constants
lod-cloud-draw [OPTIONS] <data.json> <output.svg>
-h, --help Prints help information
-V, --version Prints version information
--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
<data.json> The data of the LOD cloud
<output.svg> The path of the SVG file to write to
In order to create a cloud diagram a settings file is required, this is a JSON file as follows
legend
: The legend (categories) to show; an array of legend entries (see below)fixed_points
: If any datasets should occur at a fixed position; dictionary of strings to an array of two floating point numbersselection
: Selection method: Either "all", "dataset" or "domain"selected
: The value of the dataset/domain to be selectedhops
: The number of hops from a dataset in dataset modedatasets
: Any datasets that must be included in the datarights_text
: The description and copyright textlogo_link
: The logo (link) (to be included in the bottom right of the image)logo_width
: The logo width
Legend entries consist of the following
title
: The display title to be shown to the userdomain
: The value of thedomain
property in data that corresponds tocolour
: The (HTML) colour of this legendkeywords
: The keywords that identify this domain
Examples of this may be found under the clouds
folder
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