A simple jvm library containing RDF graph implementations suitable for concurrent environment.
Contains several implementations, including
SynchronizedGraph
- straightforward implementation which uses the standardsynchronized
java blockExtendedSynchronizedGraph
- advanced implementation which uses the standard javasynchronized
blockReadWriteLockingGraph
- it usesjava.util.concurrent.locks.ReadWriteLock
Each implementation is an instance of org.apache.jena.sparql.graph.GraphWrapper
from 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
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
...
<dependency>
<groupId>com.github.sszuev</groupId>
<artifactId>concurrent-rdf-graph</artifactId>
<version>1.1.0-kotlin</version>
</dependency>
gradlew clean jmh
or
gradlew clean jmhJar
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar
For allowed arguments, see help:
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar -help
Example:
java -jar build/libs/concurrent-rdf-graph-kotlin-{version}-jmh.jar -wi 3 -i 3 -p factory=RW_LOCKING_GRAPH_V2,SYNCHRONIZED_GRAPH
Apache License Version 2.0