Fork me on GitHub
#pathom
<
2020-06-07
>
Tuomas05:06:30

I found the bug. I was querying entities on 3 levels (simplified example) [:a/id {:a/bs [:b/id {:b/cs [:c/id]}]}] for :a resolver I declared :a/bs as output, pulled the data from datomic, and renamed the :db/id keys but in addition for whatever reason I pulled the rest of the graph but didn’t rename the keys. Pulling and returning only what I was supposed to return in the :a resolver fixed the issue. It’s still unclear to me why it sometimes worked, but doesn’t really matter.

Mark Wardle08:06:39

Hi. Is there support in pathom for federation of resolvers between providers please? I’d like to federate or hop between resolvers running on different services - is such a thing supported or does one simply create a facade and forward on each resolution request?

Mark Wardle08:06:40

My second question is one of style. I’d like to build a set of resolvers that supports different ontologies, thus abstracting implementation details and providing graph edges and graph exploration using a standardised vocabulary - this would mean clients can walk - for example, organisations across different countries/regions without concern about underlying schema differences. For example, I’m building a graph of health and care organisations in the UK and would like to represent relationships via an ontology namespace such as https://www.w3.org/ns/prov - so that a relationship ends up being https://www.w3.org/ns/prov#wasDerivedFrom - I’m planning to use reverse URL notation in the clojure namespace to represent a particular attribute but is there a better way? For instance, this means clients can fetch the name of a given organization using :org.w3.http://www.2004.02.skos.core/prefLabel I quite like the first-class nature of naming here, but can’t use traditional URL/value tuples http://www.w3.org/2004/02/skos/core#prefLabel because that wouldn’t be a valid clojure namespace.