rmldoc

Python package designed to generate documentation for RML mappings

https://github.com/oeg-upm/rmldoc

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.7%) to scientific vocabulary

Keywords

documentation documentation-tool rml rml-mapping
Last synced: 6 months ago · JSON representation ·

Repository

Python package designed to generate documentation for RML mappings

Basic Info
  • Host: GitHub
  • Owner: oeg-upm
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 256 KB
Statistics
  • Stars: 12
  • Watchers: 5
  • Forks: 1
  • Open Issues: 7
  • Releases: 9
Topics
documentation documentation-tool rml rml-mapping
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Project Status: Active – The project has reached a stable, usable state and is being actively developed. License DOI Latest PyPI version

RMLdoc

RMLdoc is a tool designed to simplify the process of generating documentation of mappings used for knowledge graph construction. It automates the documentation generation process, allowing users to easily understand the mapping transformation rules defined within their projects. Given an input mapping file written in R2RML, RML, or YARRRML, RMLdoc will generate a detailed Markdown documentation explaining each mapping with corresponding diagrams, in a human readable manner.

Features

  • Automated Documentation Generation: RMLdoc automatically generates documentation for mappings, eliminating the need for manual documentation efforts.
  • Clear and Readable Output: The generated documentation provides clear and concise descriptions of the input data sources, subject and predicate-object descriptions, along with other components defined within the mappings and their metadata.
  • Command-Line Interface (CLI): RMLdoc provides a simple command-line interface for easy integration into existing workflows and build processes.

Installation

From pypi

RMLdoc is available in pypi!

bash pip install rmldoc

From source

To install RMLdoc, simply clone this repository and cd in the main folder. Then install the package:

pip install -e .

Usage

rmldoc offers the following options:

```bash usage: rmldoc [-h] -i INPUTMAPPINGPATH [-o OUTPUT_PATH]

optional arguments: -h, --help show this help message and exit

-i INPUTMAPPINGPATH, --inputmappingpath INPUTMAPPINGPATH Path to the input mapping file in RML format. -o OUTPUTPATH, --outputpath OUTPUT_PATH Path to save the generated document. Default output in output.md -y, --yatter Enable yatter option to read yarrrml mappings

```

To generate documentation for your mappings, use the following command, where you would replace path/to/rml/mappings.rml with the path to your RML mapping file and path/to/output/directory/mappings.md with the file where you want the documentation to be generated:

bash rmldoc -i path/to/rml/mappings.rml - o path/to/output/directory/mappings.md

To automate documentation generation using GNU's make, a typical implementation would involve creating a makefile with the following structure: makefile doc-rml: ## Generate documentation for RML @echo -e "\033[35m > Generate documentation for RML \033[0m - requires RMLdoc: see https://github.com/oeg-upm/rmldoc" @find mapping/ -type f -name *.ttl \ -printf "\n%f\n" \ -exec rmldoc -i {} -o {}.md \; @echo -e "\033[35m > Done \033[0m"

Example

The following link shows the result produced by RMLdoc from the following mapping file.

RMLdoc specification

The RMLdoc specification describes the main metadata expected in a RML mapping file. Have a look to create eye-catching documentations!

Contributing

Contributions to RMLdoc are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on GitHub.

Authors

Owner

  • Name: Ontology Engineering Group (UPM)
  • Login: oeg-upm
  • Kind: organization
  • Email: oeg-dev@delicias.dia.fi.upm.es
  • Location: Boadilla del Monte, Madrid, Spain

Citation (CITATION.cff)

title: "RML mapping documentation"
license: Apache 2
authors:
  - given-names: Jhon
    family-names: Toledo
    orcid: 'https://orcid.org/0000-0002-2924-7272'
  - family-names: Chaves
    given-names: David
    orcid: 'https://orcid.org/0000-0003-3236-2789'
  - given-names: Ana
    family-names: 'Iglesias-Molina '
    orcid: 'https://orcid.org/0000-0001-5375-8024'
  - given-names: Daniel
    family-names: Garijo
    orcid: 'https://orcid.org/0000-0003-0454-7145'
cff-version: 1.2.0
message: "If you use this software, please cite"
identifiers:
  - description: "RML mapping documentation  tool"
    type: doi
    value: 10.5281/zenodo.10732487

GitHub Events

Total
  • Watch event: 1
  • Create event: 1
Last Year
  • Watch event: 1
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 27 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
  • Total maintainers: 1
pypi.org: rmldoc

Rmldoc is a tool that generates documentation of RML mappings

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 27 Last month
Rankings
Dependent packages count: 9.8%
Stargazers count: 26.1%
Forks count: 33.2%
Average: 33.4%
Dependent repos count: 64.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/pypi-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
setup.py pypi
  • jinja2 ==3.1.2
  • rdflib >=6.0.2