https://github.com/ontodev/wiring.rs
https://github.com/ontodev/wiring.rs
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ontodev/wiring.rs
- Owner: ontodev
- License: bsd-3-clause
- Created: 2021-06-21T15:40:16.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-02T00:01:17.000Z (10 months ago)
- Last Synced: 2025-09-02T02:24:34.905Z (10 months ago)
- Language: Rust
- Size: 567 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wiring (with Rust)
**The code is in active development and subject to frequent changes.**
**Feedback and PRs are welcome! There is always more to do and things to improve.**
`wiring` reads OWL axioms serialised as *thick triples* and generates *OWL Functional Notation S-expressions* (OFN S-expression).
For example, the OWL axiom
`obo:OBI_1110023 equivalentTo obo:RO_0000087 some obo:OBI_1110082`
is encoded by the thick triple
```
{"object":{"owl:onProperty":[{"object":"obo:RO_0000087"}],"owl:someValuesFrom":[{"object":"obo:OBI_1110082"}],"rdf:type":[{"object":"owl:Restriction"}]},"predicate":"owl:equivalentClass","subject":"obo:OBI_1110023"}
```
which can be translated with `wiring` into the OFN S-expression
`["EquivalentClasses","obo:OBI_1110023",["ObjectSomeValuesFrom","obo:RO_0000087","obo:OBI_1110082"]]`.
An OFN S-expression can be processed in `wiring`, e.g. by replacing named entities with their corresponding labels: `["EquivalentClasses","'immunogen@en'",["ObjectSomeValuesFrom","'has role@en'","obo:OBI_1110082"]]`. Such (processed) OFN S-expressions can be serialised into Manchester Syntax: `EquivalentClasses: 'immunogen@en', 'has role@en' some obo:OBI_1110082`.
## tl;dr
The `main.rs` file contains example code showcasing the basic functionality of `wiring` by translating thick triples into OFN S-expressions and serialising them in Manchester Syntax.
## Things to do
- `wiring` currently only supports class expression axioms (excluding data types) and should be extended to all of OWL