Metadata-Version: 2.1
Name: py_sysml_rdf
Version: 0.0.1
Summary: KA Python library providing RDF ontology definitions for SysML.
Home-page: https://github.com/dfriedenberger/sysml-rdf-model
License: MIT
Author: Dirk Friedenberger
Author-email: projekte@frittenburger.de
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: rdflib (>=6.0,<7.0)
Description-Content-Type: text/markdown

# py-sysml-rdf

A Python library providing RDF ontology definitions for SysML (Systems Modeling Language). This library contains a generated TTL (Turtle) file with SysML ontology definitions and provides a convenient Python interface to access the ontology classes and properties.

## Installation

```bash
pip install py-sysml-rdf
```

## Usage

```python
from py_sysml_rdf import SYSML
from rdflib import URIRef, Graph, RDF

g = Graph()
g.bind("sysml", SYSML._NS)
g.add((URIRef("http://example.org#actor_x"), RDF.type, SYSML.Actor))

```

## Development


### Regenerating the Ontology

If you need to recreate the TTL file:

```bash
python create_sysml_ontology.py
```

### Building the Package

```bash
python create_sysml_ontology.py
```

### Testing

Run the test script to verify everything works:

```bash
python -m pytest tests/
```

## Ontology Visualization

Visualize the ontology with [WebVOWL](https://service.tib.eu/webvowl/)

![SysML Ontology](./sysml-0.0.1.ttl.svg)

## Publishing to PyPI

1. **Test PyPI** (recommended first):
   ```bash
   python -m twine upload --repository testpypi dist/*
   ```

2. **Production PyPI**:
   ```bash
   python -m twine upload dist/*
   ```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)
