Trouble finding correct dependencies for Stardog-Sesame (SBT)

Hello, I am working on an SBT project and I would like to try out Stardog, specifically Stardog’s Sesame bindings. I already have the project working with another graph database, so I was hoping that switching over to Stardog won’t be so difficult. But I am having trouble finding the correct dependencies to add. I have tried:

“com.complexible.stardog.sesame” % “stardog-sesame-core” % "3.0"
“com.complexible.stardog.sesame” % “stardog-core” % “3.0”

but neither of these seem to work. So what is the proper way to add the Stardog-Sesame dependency? Or better yet, is there some documentation on how to get Stardog working with Sesame that I have missed?

Thanks,
H

Hi,

You’ll need your dependency version to equal the version of Stardog you’re using. So using gradle/maven and the most recent release that would look be group:com.complexible.stardog.sesame, artifact:stardog-sesame-core, version:5.0.1"

Hi Stephen, thanks for your quick response. I’ve added the following line to my SBT Build file:

“com.complexible.stardog.sesame” % “stardog-sesame-core” % “5.0.1”

However when I attempt to build, I get the following warning:

module not found: com.complexible.stardog.sesame#stardog-sesame-core_2.11;5.0.1
(*:update) sbt.ResolveException: unresolved dependency: com.complexible.stardog.sesame#stardog-sesame-core_2.11;5.0.1: not found

Is this dependency not compatible with SBT? Or perhaps there is another dependency which this dependency is dependent upon?

On another note: I also tried to load the client dependency, but got the same failure.

“com.complexible.stardog” % “client-http” % “5.0.1”

Ah, I missed the SBT part. You will need to add our public maven repository to your resolvers, as our jars are not hosted in maven central:

resolvers += Resolver.url("Stardog Public", url("http://maven.stardog.com"))

It also looks like it’s tacking the scala version to the dependency. I’m not sure if that’s just an SBT thing

Zachary: The Scala version tacked to the dependency was my mistake. If you use a double percent sign (%%) instead of a single between group and artifact, that is what happens. I made sure to run with a single % sign on previous trials.

I added the suggested line to my resolvers list, but unfortunately I still cannot find the dependency. I hope I’m not missing something obvious.

Here are my resolvers:

resolvers += Classpaths.typesafeReleases
resolvers += Resolver.url(“Stardog Public”, url(“http://maven.stardog.com”))

Dependencies:

libraryDependencies ++= Seq(
“ch.qos.logback” % “logback-classic” % “1.1.5” % “runtime”,
“org.scalactic” %% “scalactic” % “3.0.1”,
“org.scalatest” %% “scalatest” % “3.0.1” % “test”,
“com.complexible.stardog” % “client-http” % “5.0.1”,
“com.complexible.stardog.sesame” % “stardog-sesame-core” % “5.0.1”,
“org.pegdown” % “pegdown” % “1.4.2”
)

The error when I try to build:

[info] Resolving com.complexible.stardog#client-http;5.0.1 …
[warn] module not found: com.complexible.stardog#client-http;5.0.1
[warn] ==== local: tried
[warn] C:\Users\Hayden_Freedman.ivy2\local\com.complexible.stardog\client-http\5.0.1\ivys\ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/complexible/stardog/client-http/5.0.1/client-http-5.0.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] C:\Users\Hayden_Freedman.sbt\preloaded\com.complexible.stardog\client-http\5.0.1\ivys\ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:/C:/Users/Hayden_Freedman/.sbt/preloaded/com/complexible/stardog/client-http/5.0.1/client-http-5.0.1.pom
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.complexible.stardog/client-http/5.0.1/ivys/ivy.xml
[warn] ==== Stardog Public: tried
[info] Resolving com.complexible.stardog.sesame#stardog-sesame-core;5.0.1 …
[warn] module not found: com.complexible.stardog.sesame#stardog-sesame-core;5.0.1
[warn] ==== local: tried
[warn] C:\Users\Hayden_Freedman.ivy2\local\com.complexible.stardog.sesame\stardog-sesame-core\5.0.1\ivys\ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/complexible/stardog/sesame/stardog-sesame-core/5.0.1/stardog-sesame-core-5.0.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] C:\Users\Hayden_Freedman.sbt\preloaded\com.complexible.stardog.sesame\stardog-sesame-core\5.0.1\ivys\ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:/C:/Users/Hayden_Freedman/.sbt/preloaded/com/complexible/stardog/sesame/stardog-sesame-core/5.0.1/stardog-sesame-core-5.0.1.pom
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.complexible.stardog.sesame/stardog-sesame-core/5.0.1/ivys/ivy.xml
[warn] ==== Stardog Public: tried
[info] Resolving jline#jline;2.12.1 …
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.complexible.stardog#client-http;5.0.1: not found
[warn] :: com.complexible.stardog.sesame#stardog-sesame-core;5.0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] com.complexible.stardog:client-http:5.0.1 (C:\Users\Hayden_Freedman\turbo\Mark_Hayden_workspace\biobank.rdf_Stardog\build.sbt#L14-24)
[warn] ± default:biobank-rdf_stardog_2.11:0.1.0-SNAPSHOT
[warn] com.complexible.stardog.sesame:stardog-sesame-core:5.0.1 (C:\Users\Hayden_Freedman\turbo\Mark_Hayden_workspace\biobank.rdf_Stardog\build.sbt#L14-24)
[warn] ± default:biobank-rdf_stardog_2.11:0.1.0-SNAPSHOT
[trace] Stack trace suppressed: run last :update for the full output.
[error] (
:update) sbt.ResolveException: unresolved dependency: com.complexible.stardog#client-http;5.0.1: not found
[error] unresolved dependency: com.complexible.stardog.sesame#stardog-sesame-core;5.0.1: not found
[error] Total time: 10 s, completed Jul 21, 2017 11:13:08 AM

Very weird...it's showing you an attempt at resolving for each resolver, except Stardog Public it appears not to actually try any URLs.

The SBT documentation is a little inconsistent it seems... Try resolvers += "Stardog Public" at "http://maven.stardog.com" instead?

Unless it's something really dumb like it's expecting a / at the end of the repository URL or something

Hey Stephen, that last line seems to have done the trick!

resolvers += "Stardog Public" at "http://maven.stardog.com"

Dependencies are downloading and I haven’t seen any errors yet.
Thanks for the help! Looking forward to giving SD5 a spin.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.