Metadata-Version: 2.1
Name: owl-parser
Version: 0.1.14
Summary: Parse Input Text using One-or-More Ontology (OWL) files
Home-page: https://github.com/craigtrim/owl-parser
License: None
Keywords: nlp,nlu,text,classify,classification
Author: Craig Trim
Author-email: craigtrim@gmail.com
Maintainer: Craig Trim
Maintainer-email: craigtrim@gmail.com
Requires-Python: >=3.8.5,<4.0.0
Classifier: Development Status :: 4 - Beta
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: baseblock
Requires-Dist: owl-finder
Requires-Dist: rdflib (>=6.2.0,<7.0.0)
Requires-Dist: regression-framework
Project-URL: Bug Tracker, https://github.com/craigtrim/owl-parser/issues
Project-URL: Repository, https://github.com/craigtrim/owl-parser
Description-Content-Type: text/markdown

# Ontology Parser (owl-parser)
Use an Ontology model to parse unstructured text

## Under the hood
This is the root level method.

The input parameters and return values have well-described data types.
```python
def owl_parser(tokens: list,
               ontology_name: str,
               absolute_path: str) -> list:

    Enforcer.is_list_of_dicts(tokens)
    Enforcer.is_str(ontology_name)
    FileIO.exists_or_error(absolute_path)

    from owl_finder.multiquery.bp import FindOntologyData
    from owl_parser.bp import MutatoAPI

    finder = FindOntologyData(ontologies=[ontology_name],
                              absolute_path=absolute_path)

    results = MutatoAPI(finder).swap(tokens)
    Enforcer.is_list_of_dicts(results)

    return results
```

## Import
```python
from owl_parser import owl_parser
```

## Usage
```python
results = owl_parser(
    tokens,
    ontology_name="<ontology-name>",
    absolute_path="<absolute-path>")

