This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (33)
- # beginners (41)
- # boot (97)
- # clojure (220)
- # clojure-berlin (3)
- # clojure-russia (31)
- # clojure-sg (3)
- # clojurebridge (2)
- # clojurescript (137)
- # clojutre (13)
- # core-matrix (10)
- # core-typed (1)
- # cursive (18)
- # datascript (1)
- # datomic (93)
- # devops (6)
- # editors (18)
- # emacs (1)
- # funcool (43)
- # hoplon (4)
- # immutant (6)
- # instaparse (3)
- # jobs (25)
- # ldnclj (14)
- # ldnproclodo (4)
- # off-topic (20)
- # om (21)
- # rdf (79)
- # re-frame (14)
- # reagent (12)
- # ring-swagger (18)
- # yada (52)
So based on the feedback by @rickmoynihan I’ll be releasing a new version of YeSPARQL that is able to consume the ResultSet iteratively
We’re still debating some future ideas, for example doing type conversion to native Clojure data structures, but that’ll be work for another version
Me neither, I have some other stuff to do as well but it’s probably good to sleep on it some more as well!
Glad you're enjoying it - its great to see some activity other Grafter in the clojure RDF space
I definitely think we should try and work together / as much as we can -- to create a healthy eco-system
yeah it’s silly, I never really liked Semantic Web. But I’m working in the biomedical space, and I use of a lot ontologies (like UMLS, Human Phenotype, Cancer Ontology), mostly for annotation of database resources with OpenAnnotations … and I kinda enjoy it. There are so many things that seem to have been reinvented outside Semantic Web as well a couple of times, but the whole thing has a nice holistic feel to it
yeah, we could discuss what that would look like. Stupid thing is that there are two competing libraries (sesame and jena), with different tradeoffs
I don't think they support it yet -- but I think sesame 4 and the next JENA will
awesome, Jena just released 3.0 (after a long while) … so it might take some time 😛
I saw no mention in the release notes, might have missed it … although they’re not very good at documenting some times 😛
Right, so writing a little library that takes Common RDF representations and maps it to Clojure data structures would solve the Jena/Sesame interop nicely I think
I think thats a long term thing -- right now our best hope of doing that is probably to use some common protocols across both jena/sesame core types (and also the commons-rdf ones)
[announcement] YeSPARQL 0.1.5 https://github.com/joelkuiper/yesparql, see https://github.com/joelkuiper/yesparql#results-processing for the most notable change
@rickmoynihan: Thanks for the link to Apache Commons RDF. First I’d heard of it.
n/p @jamesaoverton -- not really sure how useful it is yet though - as neither sesame or jena appear to actually implement those interfaces yet ... more something for the future
How would grafter parse a http://www.w3.org/1999/02/22-rdf-syntax-ns#langString to a Clojure object?
That’s the shape used in EDN-LD: https://github.com/ontodev/edn-ld/blob/master/test/edn_ld/core_test.clj#L74
I work with OWL 2 a lot, which uses IRIs. The OWLAPI has its own IRI class: http://owlapi.sourceforge.net/javadoc/org/semanticweb/owlapi/model/IRI.html
Instead of choosing between java.net.URI and that IRI class, I just stick with strings.
This will sounds really stupid … but how do you get the Quads from a Jena Model? I’m iterating over Statements, but I have no idea how to get the graph names …
I think that com.hp.hpl.jena.rdf.model.Model is just a set of triples. So you’ll also need the name of graph that the model represents to make a quad.
To deal with multiple graphs, you use com.hp.hpl.jena.query.Dataset which contains a bunch of Models.
And remember that Jena has two main interfaces for triples: Model and Graph. Likewise there are two main interfaces for quads: Dataset and DatasetGraph. It’s easy to convert between the pairs of interfaces. DatasetGraph explicitly has quads.
right but if I do an execConstruct on a QueryExecution I get a Model, can I get the graphs from that?
Or will it do something clever and return something else when the query has Quads? (like a Dataset?)
Does this help? https://jena.apache.org/documentation/query/construct-quad.html
it’s weird though right, if I run execConstruct I would persume I’d be able to get quads somehow
The only thing I’ve done in the past is run UpdateProcessor.execute() on a DatasetGraph, then grab the stuff I want from the modified DatasetGraph. It works fine, but I don’t think it’s what you want.
My guess would be that it gets you back the Dataset that you specified in QueryExecutionFactory.create().