Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade rdf4j to 3.0.0 #150

Merged
merged 4 commits into from Aug 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -2,7 +2,7 @@ language: clojure
sudo: required
lein: 2.7.1
jdk:
- oraclejdk8
- openjdk8
before_install:
- sudo ./travis/setup-lein-travis.sh

Expand Down
51 changes: 26 additions & 25 deletions project.clj
@@ -1,4 +1,4 @@
(defproject grafter/grafter "2.0.3-SNAPSHOT"
(defproject grafter/grafter "2.0.4-SNAPSHOT"
:description "Tools for the hard graft of linked data processing"
:url "http://grafter.org/"
:license {:name "Eclipse Public License - v1.0"
Expand All @@ -10,36 +10,37 @@

:dependencies [[org.clojure/clojure "1.10.0"]

;;[org.eclipse.rdf4j/rdf4j-runtime "2.5.0" :exclusions [ch.qos.logback/logback-classic]]
;;[org.eclipse.rdf4j/rdf4j-runtime "3.0.0" :exclusions [ch.qos.logback/logback-classic]]

;; Include a smaller set of dependencies than we used
;; to by default, if you want everything from RDF4j
;; you can include:

;; [org.eclipse.rdf4j/rdf4j-runtime "2.5.0" :exclusions [ch.qos.logback/logback-classic]]
[org.eclipse.rdf4j/rdf4j-rio-api "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-binary "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-jsonld "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-n3 "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-nquads "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-rdfjson "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-rdfxml "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-trig "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-trix "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-api "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-binary "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-binary "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-sparqljson "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-sparqlxml "2.5.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-text "2.5.0"]

[org.eclipse.rdf4j/rdf4j-repository-api "2.5.0"]
[org.eclipse.rdf4j/rdf4j-repository-http "2.5.0"]
[org.eclipse.rdf4j/rdf4j-repository-sail "2.5.0"]
[org.eclipse.rdf4j/rdf4j-repository-dataset "2.5.0"]
[org.eclipse.rdf4j/rdf4j-sail-memory "2.5.0"]
[org.eclipse.rdf4j/rdf4j-sail-nativerdf "2.5.0"]
[org.eclipse.rdf4j/rdf4j-repository-manager "2.5.0"]
[org.eclipse.rdf4j/rdf4j-rio-api "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-binary "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-jsonld "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-n3 "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-nquads "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-rdfjson "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-rdfxml "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-trig "3.0.0"]
[org.eclipse.rdf4j/rdf4j-rio-trix "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-api "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-binary "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-binary "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-sparqljson "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-sparqlxml "3.0.0"]
[org.eclipse.rdf4j/rdf4j-queryresultio-text "3.0.0"]

[org.eclipse.rdf4j/rdf4j-repository-api "3.0.0"]
[org.eclipse.rdf4j/rdf4j-repository-http "3.0.0"]
[org.eclipse.rdf4j/rdf4j-repository-sail "3.0.0"]
[org.eclipse.rdf4j/rdf4j-repository-dataset "3.0.0"]
[org.eclipse.rdf4j/rdf4j-sail-memory "3.0.0"]
[org.eclipse.rdf4j/rdf4j-sail-inferencer "3.0.0"]
[org.eclipse.rdf4j/rdf4j-sail-nativerdf "3.0.0"]
[org.eclipse.rdf4j/rdf4j-repository-manager "3.0.0"]

[grafter/url "0.2.5"]
[grafter/vocabularies "0.2.6"]
Expand Down
11 changes: 7 additions & 4 deletions src/grafter_2/rdf4j/io.clj
Expand Up @@ -13,7 +13,7 @@
[java.net MalformedURLException URL]
java.time.temporal.ChronoField
[javax.xml.datatype DatatypeConstants DatatypeFactory XMLGregorianCalendar]
[org.eclipse.rdf4j.model BNode Literal Statement URI]
[org.eclipse.rdf4j.model BNode Literal Statement URI Model]
[org.eclipse.rdf4j.model.impl BNodeImpl ContextStatementImpl LiteralImpl SimpleValueFactory StatementImpl URIImpl]
[org.eclipse.rdf4j.rio RDFFormat RDFHandler Rio]))

Expand Down Expand Up @@ -663,7 +663,12 @@

java.io.Reader
(pr/to-statements [this opts]
(to-statements* this opts)))
(to-statements* this opts))

Model
(to-statements [this _opts]
;; Works because a Model is a java.util.Set
(map backend-quad->grafter-quad this)))

(extend-protocol IURIable
org.eclipse.rdf4j.model.URI
Expand All @@ -690,8 +695,6 @@
org.eclipse.rdf4j.model.URI
(->-rdf4j-uri [this] this)
GrafterURL
(->-rdf4j-uri [this] (URIImpl. (str this)))
org.eclipse.rdf4j.model.Graph
(->-rdf4j-uri [this] (URIImpl. (str this))))

(defn statements
Expand Down
31 changes: 1 addition & 30 deletions src/grafter_2/rdf4j/repository.clj
Expand Up @@ -6,7 +6,7 @@
[grafter-2.rdf4j.formats :as format]
[grafter-2.rdf4j.io :as rio]
[me.raynes.fs :as fs])
(:import [org.eclipse.rdf4j.model Graph Resource Statement URI]
(:import [org.eclipse.rdf4j.model Resource Statement URI]
[org.eclipse.rdf4j.query BindingSet BooleanQuery GraphQuery Query QueryLanguage TupleQuery Update]
[org.eclipse.rdf4j.repository Repository RepositoryConnection]
[org.eclipse.rdf4j.sail.inferencer.fc CustomGraphQueryInferencer DirectTypeHierarchyInferencer ForwardChainingRDFSInferencer])
Expand Down Expand Up @@ -339,35 +339,6 @@
(pr/to-statements [this options]
(throw-deprecated-exception!)))

(extend-type Graph
pr/ITripleReadable
(pr/to-statements [this options]
(map rio/backend-quad->grafter-quad (iterator-seq (.match this nil nil nil (resource-array)))))

pr/ITripleWriteable

(pr/add-statement
([this graph statement]
(.add this
(rio/->backend-type (pr/subject statement))
(rio/->backend-type (pr/predicate statement))
(rio/->backend-type (pr/object statement))
(resource-array (rio/->rdf4j-uri graph)))))

(pr/add
([this triples]
(pr/add this nil triples))

([this graph triples]
(doseq [triple triples]
(pr/add-statement this graph triple)))

([this graph format triple-stream]
(pr/add this graph triple-stream))

([this graph base-uri format triple-stream]
(pr/add this graph triple-stream))))

(defn ^:no-doc sesame-results->seq
"Convert a sesame results object into a lazy sequence of results."
([prepared-query] (sesame-results->seq prepared-query identity))
Expand Down
12 changes: 0 additions & 12 deletions test/grafter_2/rdf4j/repository_test.clj
Expand Up @@ -7,24 +7,12 @@
[grafter-2.rdf4j.templater :refer [graph]]
[grafter.url :refer [->GrafterURL]])
(:import [java.net URI URL]
org.eclipse.rdf4j.model.impl.GraphImpl
org.eclipse.rdf4j.repository.sparql.SPARQLRepository))

(def quad-fixture-file-path (io/resource "grafter/rdf/rdf-types.trig"))

(def triple-fixture-file-path (io/resource "grafter/rdf/rdf-types.ttl"))

(deftest reading-writing-to-Graph
(let [graph (GraphImpl.)
g (URI. "http://foo")
s (URI. "http://s")
p (URI. "http://p")
o (URI. "http://o")]
(core/add-statement graph "http://foo" (core/->Quad s p o nil))

(is (= (core/->Quad s p o g)
(first (rio/statements graph))))))

(deftest with-transaction-test
(with-open [test-db (repo/->connection (sail-repo))]
(testing "Transactions return last result of form if there's no error."
Expand Down