devos-py

A tool to Depict Vocabulary Summaries


Keywords
ontology, summary, diagrams, documentation
License
Other
Install
pip install devos-py==1.0.1

Documentation

Build Status codecov License DOI

Devos

Depicting Vocabulary Summaries(Devos) is a tool that generates a visual summary from a given ontology. Devos is built on top of Mermaid syntax which is a Markdown-inspired tool that renders text in diagrams and it uses SPARQL Query Language over the ontology generating a visual summary. It's based on three approaches.

  1. OntMet. Uses Ontology Meta Data to find matching classes.
  2. ClaFreq. Relies on Class Frequency in the ontology as the importance signal.
  3. LabLen. Utilizes Label Length of the classes as the importance signal. The intuition is that importance classes have richer metadata than less important classes.

Main Features

  • Generate summary diagrams.
    • Allows the user to use the summarisation technique (e.g., using meta data, class frequency, or label length)
  • Enrich ontologies with labels for the classes that are missing them.

Dependencies

Install

pip install devos-py

Usage

There are three main ways to use Devos. Web application, Python Library, and as a standalone application (CLI).

Web Application

The web application is built using Flask. To run it, you can use the following command: python -m web.app. This will start the server on 127.0.0.1:5000. You can also pass the port as a parameter.

As a library

You have three main functions: meta_workflow, freq_workflow, and leng_workflow. The all expects the path to the ontology, the output path to the summary diagram, and the maximum number of classes topn (referred to it in paper as k).

CLI Tutorial

  1. Use meta data as the signal for importance
python -m devos.gister -i data/ieswc/cocoon.ttl --freq
python -m devos.gister -i data/ieswc_enriched/ck.ttl -t -d -a  


python -m devos.gister -i data/ieswc_enriched/explanation-ontology.owl  -t -d -a --topn 7


python -m devos.gister -i data/ieswc_enriched/devops/core.ttl   --freq --topn 7

python -m devos.gister -i data/ieswc_enriched/devops/core.ttl   --freq --topn 7

Example:

	classDiagram

Agent  --> Document   :interest  

Person  --> Document   :publications  

Thing  --> Document   :page  


Agent  --> Thing   :topic_interest  

Thing  --> Agent   :maker  

Group  --> Agent   :member  

Experimentation

Experiments

Tests

To run unit tests

python -m unittest discover tests 

Authors

  • Ahmad Alobaid - (Ontology Engineering Group - UPM)
  • Jhon Toledo - (Ontology Engineering Group - UPM)
  • [MarĂ­a Poveda VillalĂłn] - (Ontology Engineering Group - UPM)
  • [Oscar Corcho] - (Ontology Engineering Group - UPM)

Ontology Engineering Group, Universidad Politécnica de Madrid.

License

DeVoS is available under the permissive Apache License 2.0.