https://github.com/filip26/titanium-rdf-api
Minimalistic RDF micro-interfaces to facilitate efficient and straightforward integration across Java RDF libraries
https://github.com/filip26/titanium-rdf-api
rdf
Last synced: 3 days ago
JSON representation
Minimalistic RDF micro-interfaces to facilitate efficient and straightforward integration across Java RDF libraries
- Host: GitHub
- URL: https://github.com/filip26/titanium-rdf-api
- Owner: filip26
- License: apache-2.0
- Created: 2025-02-24T01:02:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-23T14:51:12.000Z (3 months ago)
- Last Synced: 2026-03-13T03:26:14.501Z (3 months ago)
- Topics: rdf
- Language: Java
- Homepage: https://apicatalog.com
- Size: 85.9 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-java-rdf - titanium-rdf-api
README
# Titanium RDF API
A collection of straightforward micro-interfaces for processing RDF statements and facilitating seamless interoperability and data exchange across various libraries.
[](https://search.maven.org/search?q=g:com.apicatalog%20AND%20a:titanium-rdf-api)
[](https://javadoc.io/doc/com.apicatalog/titanium-rdf-api)
[](https://opensource.org/licenses/Apache-2.0)
## Example
This example demonstrates how to utilize the `RdfQuadConsumer` interface with Titanium JSON-LD, RDF Canonicalization, and the N-Quads writer to transform JSON-LD into canonicalized RDF and represent it in the N-QUADS format.
```javascript
// Step 1: Create an RDF Canonicalizer
var canon = RdfCanon.create(...);
// Step 2: Convert JSON-LD to RDF and pass statements to the canonicalizer
JsonLd.toRdf(...).provide(canon);
// Step 3: Canonicalize the received RDF statements and output the canonical version in N-QUADS format
var writer = new NQuadsWriter(...);
canon.provide(writer);
```
## Supported By
* [Apache Jena](https://jena.apache.org/)
* [Jelly-JVM](https://w3id.org/jelly/jelly-jvm) – high-performance binary RDF serialization format
* [Titanium JSON-LD](https://github.com/filip26/titanium-json-ld)
* [Titanium RDF N-QUADS](https://github.com/filip26/titanium-rdf-n-quads)
* [Titanium RDF Dataset Canonicalization](https://github.com/filip26/titanium-rdf-canon)
* [Titanium RDF Primitives](https://github.com/filip26/titanium-rdf-primitives)
Add an implementation that supports this API - open a PR!
## Installation
### Maven
```xml
com.apicatalog
titanium-rdf-api
1.0.0
```
### Gradle
```gradle
implementation("com.apicatalog:titanium-rdf-api:1.0.0")
```
## Contributing
All PR's welcome!
### Building
Fork and clone the project repository.
```bash
> cd titanium-rdf-api
> mvn package
```