Skip to main content

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!

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:

usage: rmldoc [-h] -i INPUT_MAPPING_PATH [-o OUTPUT_PATH]

optional arguments:
  -h, --help            show this help message and exit
  
  -i INPUT_MAPPING_PATH, --input_mapping_path INPUT_MAPPING_PATH
                        Path to the input mapping file in RML format.
  -o OUTPUT_PATH, --output_path 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:

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:

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

Metadata

Release files for rmldoc 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rmldoc 0.1.8
File Size Uploaded Provenance Actions
rmldoc-0.1.8.tar.gz 15.9 kB Without provenance Details for rmldoc-0.1.8.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rmldoc 0.1.8
File Interpreter ABI Platform Actions
rmldoc-0.1.8-py3-none-any.whl Python 3 none any Details for rmldoc-0.1.8-py3-none-any.whl

Total release size: 33.1 kB

Release files / rmldoc-0.1.8.tar.gz

Download URL rmldoc-0.1.8.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a058cefc6a6729b6f9c9fff5b23e9b11f47628a3d7131b3ca272e7359888b104
BLAKE2b-256 checksum
How to use checksums
e89369909bed6a5e494264c6c142e27c39ceaf120841d21371b68b91829dfda6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Release files / rmldoc-0.1.8-py3-none-any.whl

Download URL rmldoc-0.1.8-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
956e9680eed7bcdeabf8a73ec920762d040cc6ed457b98d6cf739bcef78fd02b
BLAKE2b-256 checksum
How to use checksums
1e4bf6c0f84cd7c225d77c07f67b363c286ee0e8dc11c0362951008ed594f2e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Security for rmldoc 0.1.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page