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
- Host: GitHub
- URL: https://github.com/sszuev/concurrent-rdf-graph
- Owner: sszuev
- License: apache-2.0
- Created: 2023-02-25T14:43:13.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-02T08:01:22.000Z (about 1 year ago)
- Last Synced: 2024-04-02T15:04:44.381Z (about 1 year ago)
- Topics: apache-jena, concurrency, java, java-library, kotlin, kotlin-library, rdf, rdf-graph
- Language: Kotlin
- Homepage:
- Size: 183 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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