Metadata-Version: 2.4
Name: asfalto
Version: 0.1.1
Summary: A package to create, generate and use ontology templates.
Author-email: Gabriel Obsequio Ponon <gop2@case.edu>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/Gabbyton/asfalto
Project-URL: Issues, https://github.com/Gabbyton/asfalto/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: argo-proxy>=2.7.7
Requires-Dist: black>=25.9.0
Requires-Dist: build>=1.3.0
Requires-Dist: cemento>=0.13.0
Requires-Dist: git-filter-repo>=2.47.0
Requires-Dist: importlib>=1.0.4
Requires-Dist: more-itertools>=10.8.0
Requires-Dist: openai>=2.2.0
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: rdflib>=7.2.1
Requires-Dist: setuptools>=80.9.0
Dynamic: license-file

# ASFALTO

`ASFALTO` is a python package for creating, generating and reusing ontology templates to accelerate ontology and Knowledge Graph development, especially for systems with multiple structurally similar components. `ASFALTO` can:

- convert turtle files with named individuals into template sheets over those individuals
- expand a template csv into a turtle file with all specified component variations
- generate reusable templates that can be utilized in other turtle files, enabling bottom-up abstraction 
- perform consistency checks on templates prior to reuse

`ASFALTO` stands for the Abstraction Scaffolding Framework and Automated Linker of Templates for Ontologies. `ASFALTO` is a complementary tool to the [CEMENTO](https://cwru-sdle.github.io/CEMENTO) package.

# Installation

To install `ASFALTO`, use pip or a similar package manager to install the latest version of the package.
```bash
python3 -m venv .asfalto
source .asfalto/bin/activate

pip install asfalto
```

**NOTE:** `ASFALTO` comes with critical dependencies that require `java` to run. If you do not wish to install `java` you can use the `asfalto setup_java` command to cache a platform-specific JRE that the package will use for running the dependencies. In case of failure, please make sure to install a `java` distribution on your system as a fallback. We recommend users install the latest open-source distribution of `java`.  

# Usage

## Important Information

The `ASFALTO` package uses the `lutra` and `ROBOT` packages under the hood. The package checks if these two Java-based dependencies are cached into your system. You may need an internet connection for the first time of use to be able to download and cache these two packages.

# Typical Workflow

To be added on the documentation page.

# License
This project was released under the BSD-3-Clause License. For more information about the license, please check the attached `LICENSE.md` file.

# Third-party Licenses

For information about third-party licenses for packages used in this project, please refer to the `THIRD_PARTY_LICENSES.txt` file.
