Using TopBraid SHACL API with Jena TDB

78 views
Skip to first unread message

Felix Sasaki

unread,
Feb 1, 2022, 6:51:15 AM2/1/22
to TopBraid Suite Users
Hi all,

I am trying to use the SHACL API with Jena TDB. 

This CreateWriteRead file
works with the POM file at
if I try to use TDB with shacl by adding a dependency
<dependency>
<groupId>org.topbraid</groupId>
<artifactId>shacl</artifactId>
<version>1.0.1</version>
</dependency>
The POM build fails I get an error:
java.lang.NoClassDefFoundError: org/apache/jena/sparql/core/TransactionHandlerView

Are there any suggestions how to combine the SHACL API with Jena TDB?

Regards

Felix

Holger Knublauch

unread,
Feb 1, 2022, 7:09:09 AM2/1/22
to topbrai...@googlegroups.com
Have you tried increasing the <version> number to the current release 1.4.2?

Holger
 

--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/645d1833-0c4e-4d67-abf4-1a55a0c9d9f9n%40googlegroups.com.

Felix Sasaki

unread,
Feb 1, 2022, 7:32:44 AM2/1/22
to topbrai...@googlegroups.com
Thanks, Holger - just tried this:
<modelVersion>4.0.0</modelVersion>

<groupId>org.jena.tdb</groupId>
<artifactId>tutorial</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>tutorial</name>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<version>3.7.0</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.topbraid</groupId>
<artifactId>shacl</artifactId>
<version>1.4.2</version>
</dependency>
</dependencies>
</project>


it generates this error:
"WTF ERROR org.jena.tdb.tutorial.TDBCreateWriteRead.main():55 - org/apache/jena/system/JenaSystem java.lang.NoClassDefFoundError: org/apache/jena/system/JenaSystem"

Felix

Richard Cyganiak

unread,
Feb 1, 2022, 8:33:39 AM2/1/22
to topbraid-users list
If your POM includes Jena, it must be the same version that is used by the TopBraid SHACL API.

For TopBraid SHACL API 1.4.2, this would be Jena 4.3.2 (not 3.7.0 as you have it below).

For other versions of the API, you can check https://mvnrepository.com/artifact/org.topbraid/shacl . Select the API version you're interested in, then scroll down to the Compile Dependencies section and look for “org.apache.jena » jena-arq” and its version.

Hope that helps,
Richard



Felix Sasaki

unread,
Feb 1, 2022, 10:03:21 AM2/1/22
to topbrai...@googlegroups.com
That works, thanks a lot, Richard!

Best

Felix

Reply all
Reply to author
Forward
0 new messages