An open API service indexing awesome lists of open source software.

https://github.com/sszuev/concurrent-rdf-graph

Concurrent RDF Graph implementations written in Kotlin
https://github.com/sszuev/concurrent-rdf-graph

apache-jena concurrency java java-library kotlin kotlin-library rdf rdf-graph

Last synced: 21 days ago
JSON representation

Concurrent RDF Graph implementations written in Kotlin

Awesome Lists containing this project

README

        

# Concurrent RDF Graph

## Summary

A simple jvm library containing [RDF](https://www.w3.org/TR/rdf11-concepts/) graph implementations suitable for concurrent environment.

Contains several implementations, including

- `SynchronizedGraph` - straightforward implementation which uses the standard `synchronized` java block
- `ExtendedSynchronizedGraph` - advanced implementation which uses the standard java `synchronized` block
- `ReadWriteLockingGraph` - it uses `java.util.concurrent.locks.ReadWriteLock`

Each implementation is an instance of `org.apache.jena.sparql.graph.GraphWrapper`
from [Apache Jena](https://github.com/apache/jena).
The project is equipped with concurrent tests, the local running of which may end with `TimeoutException` if the local
machine is not fast enough.
Also, there are benchmarks tests.

## Available via [jitpack](https://jitpack.io/#sszuev/concurrent-rdf-graph)

```xml


jitpack.io
https://jitpack.io

...

com.github.sszuev
concurrent-rdf-graph
1.1.0-kotlin

```

## Run benchmarks
```bash
gradlew clean jmh
```
or
```bash
gradlew clean jmhJar
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar
```

For allowed arguments, see help:

```bash
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar -help
```

Example:

```bash
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar -wi 3 -i 3 -p factory=RW_LOCKING_GRAPH_V2,SYNCHRONIZED_GRAPH
```

## License

Apache License Version 2.0