Fork me on GitHub

@stain: Check out grafter - we have pretty comprehensive protocols to coerce between RDF/clojure types


its been in production use for a few years - and its pretty robust… it should cover all of RDF 1.1 and support all RDF serialisations etc...


I also have a side project to do what you’re starting… I’m basically extracting the protocols from grafter into a separate project, with plans to implement them on Commons RDF, Sesame and Jena..


The grafter stuff isn’t perfect - it has a few minor aesthetic issues which are largely resolved on the 0.8.0-snapshot branch (which is basically stable and will be released soon) but we’ve been using it for almost all of our RDF processing for almost 3 years… It also has a super simple turtle like DSL which you can use for writing triple templates e.g.

(def template
  (graph-fn [{:keys [dataset-title dataset-slug dataset-uri dataset-graph
            (graph dataset-graph
                    [rdf:a qb:DataSet]
                    [qb:structure structure-uri]
                    [rdfs:label (lang dataset-title :en)]
                    [dcterms:title (lang dataset-title :en)]
                    [dcterms:modified (modified-date)]])))


I do really need to write a tutorial for the RDF side of things though


I see you’re based in Manchester! Small world!! I run the Manchester Lambda Lounge