This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-02-15
Channels
- # announcements (8)
- # architecture (9)
- # autochrome-github (1)
- # babashka (48)
- # beginners (55)
- # calva (36)
- # cider (16)
- # clj-commons (1)
- # clj-kondo (38)
- # cljs-dev (44)
- # cljsrn (1)
- # clojure (164)
- # clojure-europe (35)
- # clojure-nl (2)
- # clojure-norway (10)
- # clojure-uk (23)
- # clojurescript (50)
- # conjure (24)
- # core-async (1)
- # cryogen (2)
- # cursive (38)
- # datalevin (11)
- # datascript (2)
- # datomic (13)
- # duct (1)
- # emacs (16)
- # events (12)
- # exercism (3)
- # figwheel-main (7)
- # fulcro (26)
- # honeysql (5)
- # integrant (1)
- # jobs (3)
- # kaocha (6)
- # lsp (72)
- # malli (22)
- # nextjournal (35)
- # nrepl (1)
- # off-topic (34)
- # pathom (5)
- # polylith (8)
- # portal (40)
- # re-frame (14)
- # reagent (42)
- # reitit (1)
- # releases (1)
- # remote-jobs (1)
- # reveal (9)
- # sci (2)
- # shadow-cljs (13)
- # sql (3)
- # tools-deps (33)
- # vim (25)
Hello everyone! Today Pathom Viz 2022.2.15
is out! This release includes:
• Resize panels now uses % instead of absolute sizes for a better app resize flow
• Render entity data in request history when available
◦ Note for that you need to bump Pathom Viz Connector to version 2022.02.14
• Fix situation where Pathom 3 renders a Trace view with blank data
• Save entity data in query history
• Support lenient mode setting in query editor
• Support include stats setting in query editor
• Support report from strict errors in Pathom 3
◦ Note that the latest Pathom 3 doesn't have the changes yet to work with this, but you can try using the latest SNAPSHOT release of Pathom 3, which is 2022.02.14-alpha-SNAPSHOT
. For more info on this check https://github.com/wilkerlucio/pathom3/pull/129
For current users, just relaunch the app to get it automatically updated. Or download it from https://github.com/wilkerlucio/pathom-viz/releases/tag/v2022.2.15

Introducing v0.1.0 of Flint, a Clojure(Script) DSL for creating SPARQL query and update strings. https://github.com/yetanalytics/flint Example:
(require '[com.yetanalytics.flint :as flint])
(flint/format-query '{:select [?x] :where [[?x "<>" 100]]})
;; => SELECT ?x WHERE { ?x <> 100 . }
Wow this looks great!
It’s something I’ve been meaning to write for a long time; bravo!!!
I’ve only looked at this for two minutes, and it looks like it works almost exactly how I’d imagine but a few questions:
1. Have you thought about adding a protocol for representing URI literals, and extending it to java.net.URI
and perhaps letting users extend it to jena/rdf4j’s URI classes? Having to encode a string as "<
feels wrong. What if you had an xsd string which was of the form "<[stuff]>"
how would that be interpreted?
2. Similarly providing protocols for coercing other literals, e.g. xsd:date
vs xsd:dateTime
etc. (These protocols would presumably want to also define datatype-uri
accessor.) Like 1 this would allow passing datatypes easily between this and an arbitrary RDF backend e.g. jena/rdf4j.
3. In the map bgp/triple syntax can you also write {:dc/publisher ?publisher}
or do you always need to wrap a set over it?
4. Have you considered adding a parser that targets SPARQL 1.1. query strings and converts them into this edn query data structure?
@U06HHF230
1. I actually have not thought about using protocols to represent literals. Extending any such protocol to a particular Java library could be tricky, however, since Flint supports cljs (and doubly so for a particular Jena class, since I want it to remain implementation-agnostic). As of right now, angle brackets = IRIs, so any string surrounded by them is an IRI, and any IRI will have to be surrounded by them.
2. For the above reason (i.e. I haven't thought about using protocols), there isn't support for literals beyond strings, numerics, booleans, and dateTimes. I wasn't sure how I'd actually implement literals beyond that so thanks for the protocols suggestion; I figure that the already-supported literals will cover most peoples' cases, though, so this would not be a huge priority.
3. You always need to wrap an object in a set, as that is how they're written in https://github.com/ont-app/igraph#the-igraph-protocol. I understand that this can get annoying, though, so maybe in the future Flint can have syntactic sugar where ?obj
becomes #{?obj}
.
4. I actually did, but I abandoned that idea early on due to its complexity. A big problem is that there are certain valid SPARQL strings that Flint does not support, e.g. https://www.w3.org/TR/sparql11-query/#collections, as well as subtle syntax variations.
@U02FU7RMG8M: Thanks for the reply… perhaps we can take this discussion to #rdf?
:thumbsup: cool