Hello! I am looking to design a technology indepe...
# getting-started
w
Hello! I am looking to design a technology independent 
#dataCatalog
 for heterogeneous
#datamesh
-es, 
#datalake
-s and `#featureStore`s Found this `GraphQL`/`SHACL` extension as
data schema
language to be very interesting (first tweet below). And would also like to build on top of
DataHub
. In this post https://engineering.linkedin.com/blog/2019/data-hub it says
_... plan to add native support for GraphQL and leverage Pegasus Domain Specific Language (PDL)_
so the
DataHub
project is already considering
GraphQL
🤔 Is there a design channel best suited to discuss how to maybe combine the two ? Please see a series of tweets for better context https://twitter.com/semanticbeeng/status/1338395121344196614 https://twitter.com/semanticbeeng/status/1340659039160680448 https://twitter.com/semanticbeeng/status/1340341801245433858 https://twitter.com/semanticbeeng/status/1340213178735742976 https://twitter.com/semanticbeeng/status/1338165535067017216 /cc @mysterious-waiter-64784 @adorable-processor-445
m
A contributor, @big-carpet-38439, from @mammoth-bear-12532’s new company, has put together a GraphQL RFC just the other day!
👀 1
I think so far this RFC has not tried to address how to resolve PDL vs GraphQL's schema
b
Thanks @microscopic-receptionist-23548 ! That’s right - this RFC assumes that frontend models are still managed independently of the GMA models! However, the ability to auto generate frontend models from Pegasus models is something we want to explore, soon!
d
Just taking a first look at PDL Schema, but it looks reasonably compatible with GraphQL SDL. E.g. I see that it supports untagged unions, similar to GraphQL and Avro. A mapping between the two probably wouldn't be too lossy.
👀 1
1
m
Yes @dazzling-traffic-87612, we actually have a project at LinkedIn that translates PDL to GraphQL .. @big-carpet-38439 works on that project
Dragon looks very nice as well
d
Nice... anything I can look at?
I wonder if there are any similarities w.r.t. your approach to mappings.
m
@witty-kilobyte-6731 : just created #datahub-modeling
1
w
b
@dazzling-traffic-87612 unfortunately nothing formally published around this today — in the case of PDL we do not ‘stash’ divergent features, as you pointed out the expressivity in the 2 type systems are extremely close... we deal with any minor disparities via manually enforced governance :( (ie never use tagged unions in PDL)... I like the Dragon approach of essentially ‘implementing’ the more abstract dragon spec in different ways across type systems - either using native constructs in the case where we will encounter no loss or additional metadata in cases where we will
d
Sure, that is another way to go, and to a certain extent we do the same thing, e.g. there are structures which Dragon supports but which are not supported in a given target language and for which we have not added a stashing strategy. We do have a way of specifying which combinations of features are supported in which languages, so we can either stash or fail early.
Does your tool map between PDL and GraphQL exclusively, or are other languages supported?
w
Josh, please let us discuss on the channel 🙂
1