Documentation May 16, 2020

How to build applications with MetaMate

You can use MetaMate to conveniently consume data from many data sources. MetaMate services map vendor- specific representations onto MetaMate’s unified abstract schema graph. If you are building an application that’s analysing Posts, your application will work on any data source that’s providing Posts, as all the data looks the same to your application, independent of it’s actual origin.

Pick an instance

First of all, you will need a MetaMate instance. You can either run your own or use our public instance at metamate.one.

Communication

After selecting an instance, you can decide how you want your application to communicate with it.

graphql

Every MetaMate instance comes with a graphql endpoint at /graphql and a graphql api explorer at /explorer.

SDKs

MetaMate’s abstract schema graph contains a large number of entities and supporting types like requests, filters, selects and many more. Therefore, tailored SDKs can be generated on a per project basis to only contain the necessary subset of the overall abstract schema graph.

metactl will take care of generating them for you. metactl is currently capable of generating client SDKs for typescript and golang (please let us know which language you would like to have an SDK for as well).

To get metactl simply run brew install metamatex/taps/metactl if you are using macOS. For all other platforms please see the installation instructions.

Running metactl init in your project folder will generate a metactl.yaml containing a handful of sample configurations

metactl.yaml

metamatex/metamate/examples/metactl/metactl.yaml

Remove any unnecessary configuration bits and run metactl gen -v to generate an SDK for your project.

Usage

Let’s search for some book recommendations on Hacker News

Typescript

metamatex/metamate/examples/metactl/clients/typescript/index.ts

golang

metamatex/metamate/examples/metactl/clients/go/main.go
comments powered by Disqus