grafter icon indicating copy to clipboard operation
grafter copied to clipboard

Linked Data & RDF Manufacturing Tools in Clojure

Results 50 grafter issues
Sort by recently updated
recently updated
newest added

Something like this would be useful: ``` (defn resource-obj->statements [{:keys [grafter.rdf/uri] :as res-obj}] (let [po-pairs (dissoc res-obj :grafter.rdf/uri)] (mapcat (fn [[p os]] (if (or (set? os) (seq? os)) (map (fn...

Now that clojure 1.10.0 allows values to participate in protocols we should open our core protocols to this too. e.g. `pr/IStatement`, `pr/ITripleReadable`, `pr/IDatatypeURI`...

Might be worth reading some of this first too: https://clojure.org/guides/comparators#_comparators_that_work_between_different_types

The following code: ```clojure (require '[grafter.rdf.repository :as repo]) (let [r (repo/sail-repo)] (repo/query r "SELECT ?b WHERE { BIND(true as ?b) }")) ``` throws the following exception: IllegalArgumentException No implementation of...

Is it still the plan to move grafter to rdf4j, away from sesame. Do you have any updates on the timelines for this or can you elaborate a bit on...

It would be useful to use these protocols in Clojurescript environments

We should update to use the latest java 8 time API, and move away from using `Date`/`#inst` as a means of coercing between RDF time classes. https://lambdaisland.com/blog/26-07-2017-dates-in-clojure-making-sense-of-the-mess Also Juxt's [tick...

Some sparql query files file to interpolate properly. This query ``` # Given a list of collection_uris, gets features in those collections # which are parents of the passed feature_uri...

We currently support interpolating bindings, but we don't provide a method to see what was interpolated. Add way to preview bindings with this: http://docs.rdf4j.org/javadoc/latest/org/eclipse/rdf4j/repository/sparql/query/QueryStringUtil.html#getQueryString-java.lang.String-org.eclipse.rdf4j.query.BindingSet-

This is a bit of a mega ticket which we can break down into separate tickets as and when we need them. Generally we want to add eager processing capabilities...