Skip to content

semantisch/Devos

 
 

Repository files navigation

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  
Loading

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.

PyPi

python -m build
twine check dist/*
twine upload dist/*

About

A tool to generate a gist of the ontology

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.3%
  • HTML 7.0%
  • CSS 0.7%