/gix-ontology-visualization

A simple ontology and RDF visualization tool.

Primary LanguagePythonMIT LicenseMIT

#+TITLE: Ontology Visualization


JG's notes

::see also: Observations


  • Example
  ./ontology_viz.py -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

In order to convert =dot= into =png= or =svg= image, you will need [[https://www.graphviz.org][Graphviz]].