Skip to content

WWU-AMM/ontoviz

 
 

Repository files navigation

Ontoviz

image

image

Documentation Status

Code style: black

Ontology visualization with Python

Installation

python -m pip install ontoviz

Example

    ontoviz_to_dot -o test.dot test.ttl -O ontology.ttl
    dot -Tpng -o test.png test.dot
  • Use -o to indicate the path of output file
  • Use -O to indicate the input ontology (Optional).
  • Use -C to indicate the configuration file (Optional).
    • max_label_length: config the max length of labels. If the text exceeds the length, exceeded part will be replaced with "…". Default value is 0.

    • blacklist: config the predicate that you don't want to see in the graph.

    • class_inference_in_object: config the predicate that can inference the object is a Class, even if the class doesn't defined in the ontology.

    • label_property: config the predicate that used for labeling nodes, if such a label exists, it will display inside the node.

    • tooltip_property: config the predicate that contains the tooltip texts.

    • bnode_regex: a list of regexes, if an uri matches, then it will be dispaly as a blank node without its uri nor label. It can be useful if you have a lot of reifications.

    • colors: config the colors of nodes

      • class, literal, instance can accept HEX value(e.g. "#ff0000" ), MATLAB style(e.g. "r" ), and color name (e.g. "red" ).

        "colors": { "class": "#ff0000", "literal": "r", "instance": "red", }

      • instance can also accept a dict value to specify the color of each class instance. And use "default" to to set color for undefined instances.

        "instance": { "https://tac.nist.gov/tracks/SM-KBP/2018/ontologies/SeedlingOntology#Facility": "#a6cee3", "default": "#ffff99" }

      • filled: config whether fill the node, default value: true.

  • Classes defined in the ontology will be omitted in the output graph. This action can be switched with argument -V.

Useful Graphviz flags

  • -K to specify which layout algorithm to use. E.g. -Kneato and -Ksfdp . Notice that inorder to use sfdp layout algorithm, you will need to build your graphviz with GTS.
  • -T to specify the output format.
  • -G to set a graph attribute. E.g. -Goverlap=prism

Requirements

All the minimal Python requirements are installed during

python -m pip install ontoviz

For a development setup do

git clone https://github.com/WWU-AMM/ontoviz
cd ontoviz
virtualenv venv
. venv/bin/activate
python -m pip install -e .[full]
pre-commit install

This will also install tools for documentation building and testing

In order to convert dot into png or svg image, you will need Graphviz.

Testing

Simply run pytest from the repository root. All tests are also run automatically by github actions on push/PR.

About

A simple ontology and RDF visualization tool.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%