{"id":512,"date":"2023-11-23T01:32:41","date_gmt":"2023-11-23T01:32:41","guid":{"rendered":"https:\/\/ww2.topquadrant.com\/querying-topbraid-edg-with-graphql\/"},"modified":"2024-02-02T02:17:00","modified_gmt":"2024-02-02T02:17:00","slug":"querying-topbraid-edg-with-graphql","status":"publish","type":"epkb_post_type_1","link":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql","title":{"rendered":"Querying TopBraid EDG with GraphQL"},"content":{"rendered":"\r\n\t\t<div id=\"eckb-article-page-container-v2\" class=\"eckb-article-page-content-counter eckb_ap_active_theme_hello-elementor \" data-mobile_breakpoint=\"768\">    <div id=\"eckb-article-header\">\r\n\t\t<div id=\"epkb-ml__module-search\" class=\"epkb-ml__module\">   \r\n\t\t<!-- Classic Search Layout -->\r\n\t\t<div id=\"epkb-ml-search-classic-layout\">    \t\t<div class=\"epkb-ml-search-title\">Resource Hub<\/div>   \t\t\t<form id=\"epkb-ml-search-form\" method=\"get\" action=\"\/\">\r\n\t\t\t\t<input type=\"hidden\" id=\"epkb_kb_id\" value=\"1\" >\r\n\r\n\t\t\t\t<!-- Search Input Box -->\r\n\t\t\t\t<div id=\"epkb-ml-search-box\">\r\n\t\t\t\t\t<input class=\"epkb-ml-search-box__input\" type=\"text\" name=\"s\" value=\"\" aria-label=\"Search our resources...\" placeholder=\"Search our resources...\" aria-controls=\"epkb-ml-search-results\" >\r\n\t\t\t\t\t<button class=\"epkb-ml-search-box__btn\" type=\"submit\">\r\n                        <span class=\"epkb-ml-search-box__text\"> Search<\/span>\r\n                        <span class=\"epkbfa epkbfa-spinner epkbfa-ml-loading-icon\"><\/span>\r\n                    <\/button>\r\n\t\t\t\t<\/div>\r\n\r\n\t\t\t\t<!-- Search Results -->\r\n\t\t\t\t<div id=\"epkb-ml-search-results\" aria-live=\"polite\"><\/div>\r\n\t\t\t<\/form>\r\n\t\t<\/div>  \r\n\t\t<\/div>  <\/div>\r\n\t\t\t<div id=\"eckb-article-body\">  <div id=\"eckb-article-left-sidebar\">\r\n\t\t\t<div class=\"eckb-article-toc  eckb-article-toc--bmode-between eckb-article-toc-reset \"\t\t\t\t\r\n\t\t\t\tdata-offset=\"130\"\r\n\t\t\t\tdata-min=\"2\"\r\n\t\t\t\tdata-max=\"6\"\r\n\t\t\t\tdata-speed=\"300\"\r\n\t\t\t\tdata-exclude_class=\"\"\r\n\t\t\t\t><div class=\"eckb-article-toc__title\">Table of Contents<\/div><\/div>\r\n\t\t\t<\/div>\r\n\t\t        <article id=\"eckb-article-content\" data-article-id=\"512\" >                        <div id=\"eckb-article-content-header-v2\"><div id=\"eckb-article-content-header-row-1\"><div class=\"eckb-article-content-header-row-left-group\"><div id=\"eckb-article-back-navigation-container\"><div class=\"eckb-navigation-back  \"  style=\"margin-top: 4px; margin-right: 15px; margin-bottom: 4px; margin-left: 4px;\" ><div tabindex=\"0\" class=\"eckb-navigation-button\"  style=\"padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; color: #1e73be; background-color: #ffffff; font-size:14px;border-radius: 3px; border-style: solid; border-width: 1px; border-color: #b5b5b5;\"  onclick=\"history.go(-1);\" >&lt; All Topics<\/div><\/div><\/div><div id=\"eckb-article-content-breadcrumb-container\">\r\n<div class=\"eckb-breadcrumb\"  style=\"padding-top: 0px; padding-right: 4px; padding-bottom: 0px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size:14px;\" >\t\t<nav class=\"eckb-breadcrumb-outline\" aria-label=\"Breadcrumb\">\r\n\t\t<ul class=\"eckb-breadcrumb-nav\">       <li  style=\"font-size:14px;\" >\t<span class=\"eckb-breadcrumb-link\"><a tabindex=\"0\" href=\"https:\/\/mandalay.topquadrant.com\/?page_id=1484\"><span  style=\"color: #1e73be;\"  >Main<\/span><\/a><span class=\"eckb-breadcrumb-link-icon ep_font_icon_arrow_carrot_right\" aria-hidden=\"true\"><\/span>\t<\/span><\/li><li  style=\"font-size:14px;\" >\t<span class=\"eckb-breadcrumb-link\"><a tabindex=\"0\" href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=data-fabric\"><span  style=\"color: #1e73be;\"  >Data Fabric<\/span><\/a><span class=\"eckb-breadcrumb-link-icon ep_font_icon_arrow_carrot_right\" aria-hidden=\"true\"><\/span>\t<\/span><\/li><li  style=\"font-size:14px;\" >\t<span class=\"eckb-breadcrumb-link\"><span aria-current=\"page\" style=\"color: #1e73be;\"  >Querying TopBraid EDG with GraphQL<\/span>\t<\/span><\/li>\t\t<\/ul>\r\n\t<\/nav>\r\n\r\n<\/div>          <\/div><\/div><div class=\"eckb-article-content-header-row-right-group\"><div id=\"eckb-article-content-toolbar-container\">\r\n\t\t<div class=\"eckb-article-content-toolbar-button-container\">\r\n\t\t\t<span class=\"eckb-print-button-container\">\t\t\t<span class=\"eckb-toolbar-button-text\">Print<\/span><span class=\"eckb-toolbar-button-icon epkbfa epkbfa-print\"><\/span>\t\t\t<\/span>\r\n\t\t<\/div> <\/div><\/div><\/div><div id=\"eckb-article-content-header-row-2\"><div class=\"eckb-article-content-header-row-left-group\"><div id=\"eckb-article-content-title-container\"><h1 class=\"eckb-article-title\">Querying TopBraid EDG with GraphQL<\/h1><\/div><\/div><\/div><\/div><div id=\"eckb-article-content-body\"><p id=\"\">In this post we will walk you through using GraphQL to read and write information captured in <a href=\"https:\/\/stage.topquadrant.com\/products\/topbraid-enterprise-data-governance\/\" id=\"\">TopBraid EDG<\/a>.<\/p>\n<p id=\"\"> A key capability in TopBraid EDG\u2019s support of GraphQL is introspection \u2013 the ability to examine the type or properties of an object of interest at runtime. &nbsp;In fact, TopBraid EDG goes beyond the typical introspection capabilities and lets you also create new types (classes) and update existing ones. This is possible because TopBraid EDG <a href=\"https:\/\/stage.topquadrant.com\/technology\/knowledge-graphs\/\" id=\"\">Knowledge Graph<\/a> technology stores not only data, but also the models describing data.<\/p>\n<h5 id=\"\">What is GraphQL?<\/h5>\n<p id=\"\">GraphQL is a very popular way to define an API (using a query to describe data you want to get) and execute the API \u2013 as a query. This is why it is called a <em id=\"\">query language for APIs<\/em>.<\/p>\n<p id=\"\">The output is always JSON. The query mimics the JSON structure to be returned. GraphQL:<\/p>\n<ul id=\"\">\n<li id=\"\">Lets the client specify exactly what data it needs from the server.<\/li>\n<li id=\"\">Uses a type system aka GraphQL Schemas to describe data.<\/li>\n<\/ul>\n<p id=\"\">Compared to traditional approach of having many \u201cdumb\u201d endpoints each addressing one specific type of request, GraphQL offers a single \u201csmart\u201d endpoint that accepts complex queries and returns data in whatever shape the client requires.<\/p>\n<p id=\"\">One interesting aspect is that GraphQL can be used to expose schemas themselves e.g. to find out what types are available and what properties are available for each type. In other words, to do introspective queries. Thus, a GraphQL endpoint is self documenting. With it:<\/p>\n<ul id=\"\">\n<li id=\"\">You do not need documentation for each of the many specific services.<\/li>\n<li id=\"\">Instead, you can query the endpoint to understand what schemas it supports and, thus, what data you can ask it to return.<\/li>\n<li id=\"\">Openly available IDEs like <a href=\"https:\/\/github.com\/graphql\/graphiql\" id=\"\">GraphiQL<\/a> let you explore model (schema) documentation and and support syntax directed creation of queries.<\/li>\n<\/ul>\n<p id=\"\">GraphQL supports reading data and it can also support updating data.<\/p>\n<p id=\"\"><strong id=\"\">How does TopBraid EDG support GraphQL?<\/strong><\/p>\n<p id=\"\">Leaving details aside, EDG offers read and write access through GraphQL. It does the following:<\/p>\n<ul id=\"\">\n<li id=\"\">Automatically generates GraphQL Schemas from <a href=\"https:\/\/stage.topquadrant.com\/technology\/shacl\/\" id=\"\">SHACL<\/a> ontologies in TopBraid EDG.<\/li>\n<li id=\"\">Watches for any changes in ontologies and updates generated schemas on the fly.<\/li>\n<li id=\"\">Integrates GraphiQL IDE for documentation of the GraphQL endpoint and creation of queries.<\/li>\n<li id=\"\">Provides extended GraphQL capabilities with filters and built-in <a href=\"https:\/\/graphql.org\/learn\/queries\/#directives\" id=\"\">directives<\/a>.<\/li>\n<li id=\"\">Lets users query not only data that is captured by EDG, but also the change history, access control and user permissions and the ontology models themselves.<\/li>\n<\/ul>\n<p id=\"\">Let\u2019s now take a look at some examples.<\/p>\n<h5 id=\"\"><strong id=\"\">Defining SHACL Model Used to Generate GraphQL Schemas<\/strong><\/h5>\n<p id=\"\">Let\u2019s say you need to capture reference data for countries. To do this, you will create an ontology (or use pre-existing one) and define a class (and also a SHACL Node Shape) Country. You will then describe properties of a country for which you want to capture data in your reference dataset. In SHACL, our class definition will look as follows:<\/p>\n<p id=\"\"><strong>enterprise:Country<\/strong><\/p>\n<p id=\"\"><strong>a owl:Class ;<\/strong><\/p>\n<p id=\"\"><strong>a sh:NodeShape ;<\/strong><\/p>\n<p id=\"\"><strong>rdfs:label \u201cCountry\u201d ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-hasBorderWith ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-historicNote ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-independent ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-iso3166FullName ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-iso3166NumericCode ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-iso3166_2AlphaCode ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-iso3166_3AlphaCode ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-label ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-status ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-validityEndDate ;<\/strong><\/p>\n<p id=\"\"><strong>sh:property enterprise:Country-validityStartDate ; .<\/strong><\/p>\n<p id=\"\">Each property is then described as needed. For example, the following property definition in SHACL says that values of iso3166_2AlphaCode property of a country are strings that are exactly 2 in length:<\/p>\n<p id=\"\"><strong>enterprise:Country-iso3166_2AlphaCode<\/strong><\/p>\n<p id=\"\"><strong>a sh:PropertyShape ;<\/strong><\/p>\n<p id=\"\"><strong>sh:path enterprise:iso3166_2AlphaCode ;<\/strong><\/p>\n<p id=\"\"><strong>sh:datatype xsd:string ;<\/strong><\/p>\n<p id=\"\"><strong>sh:minLength 2;<\/strong><\/p>\n<p id=\"\"><strong>sh:maxLength 2;.<\/strong><\/p>\n<p id=\"\">In a diagram, the class will look as follows:<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">Note that this blog does not intent to provide a \u201chow to\u201d guide on ontology modeling. Definition of the class is simply included as context for the queries we will demonstrate below. If you are interested in more information on ontology modeling, our web site has many resources such as, for example, <a href=\"https:\/\/stage.topquadrant.com\/project\/ontology_modeling_overview\/\" id=\"\">this video<\/a>.<\/p>\n<p id=\"\">You will now need to specify that Country is a \u201cpublic\u201d class in your ontology. This step is important because it directs TopBraid EDG to automatically generate GraphQL Schema for countries.<\/p>\n<p id=\"\">Why is this necessary? Some ontologies may have a lot of classes that you do not plan to use or instantiate. This could happen if you decide to re-use an ontology created elsewhere. <em id=\"\">Public<\/em> means \u201cwill be used for data instances\u201d. &nbsp;You don\u2019t have to specify each class as public and can, instead, declare a parent class public, then all the sub classes will be public. See <a href=\"https:\/\/stage.topquadrant.com\/graphql\/shacl-graphql.html\" id=\"\">this page<\/a> for more information on how TopBraid EDG generates GraphQL Schemas.<\/p>\n<h5 id=\"\"><strong id=\"\">Querying Country Data With GraphQL<\/strong><\/h5>\n<p id=\"\">With the model defined, we can now create a reference dataset for countries and capture information about countries including their ISO codes, their border-with relationship, status, etc.<\/p>\n<p id=\"\">To query this data using GraphQL, go to the Export tab for the dataset and click on the GraphQL Queries link.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a5754d018c20379f35d12_GraphQL_Export1-1024x274.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">You will see the built-in GraphiQL Editor that let\u2019s you compose and run queries.<\/p>\n<p id=\"\">The query shown below returns all country resources in the Country Codes reference dataset together with their full names (language tagged) and 2 character and 3 character country codes. Note that this dataset contains all entries defined by the ISO 3166 standard. These include some items that are not actually countries e.g., African Intellectual Property Organization. Typically, such items do not have the 3 character ISO code and only have the 2 character code.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a57e76830f76ea55516a0_GraphQL_Query1-1024x541201.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">TopBraid GraphiQL Editor has the following functional panels from left to right:<\/p>\n<ul id=\"\">\n<li id=\"\">A panel to compose queries<\/li>\n<li id=\"\">A panel that displays query results<\/li>\n<li id=\"\">Collapsable Documentation panel<\/li>\n<\/ul>\n<p id=\"\">Clicking on the Docs link in the upper right expands the Documentation panel letting you see the classes for which GraphQL Schema definitions have been generated. Documentation is produced dynamically reflecting your models.<\/p>\n<p id=\"\">For each class, you see all queryable properties as well as some additional parameters such as <em id=\"\">where, filter, first<\/em> and <em id=\"\">skip<\/em>. <a href=\"https:\/\/stage.topquadrant.com\/graphql\/graphql-queries.html\" id=\"\">This page<\/a> explains how to use filters and other parameters.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a57b864185509a1e3ecb9_GraphQL_DocExplorer-521x1024.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\"><strong id=\"\">The GraphiQL Editor also includes buttons that let you work with the previously created queries.<\/strong><\/p>\n<p id=\"\"><strong id=\"\">Query definition panel offers syntax-directed editing with auto-completion. Let\u2019s modify the query above to only return items that have the 3 character ISO alpha code. The modified query will look as follows:<\/strong><\/p>\n<blockquote id=\"\"><p><strong id=\"\"> {<br \/>countries (where: {iso3166_3AlphaCode:{minCount: 1}})<br \/>{<br \/>uri<br \/>iso3166FullName {<br \/>string<br \/>lang<br \/>}<br \/>iso3166_2AlphaCode<br \/>iso3166_3AlphaCode<br \/>}<br \/>}<\/strong><\/p><\/blockquote>\n<h5 id=\"\"><strong id=\"\">Updating Country Data with GraphQL<\/strong><\/h5>\n<p id=\"\">TopBraid EDG supports updates using GraphQL. Update operations are called GraphQL mutations. The following mutations are supported:<\/p>\n<ul id=\"\">\n<li id=\"\"><strong id=\"\"><em id=\"\">Create<\/em><\/strong> \u2013 creates a new resource of a given type with the property values provided in the JSON input object. URI must be provided. Optionally, graph to add information to can be provided.<\/li>\n<li id=\"\"><strong id=\"\"><em id=\"\">AddTo<\/em><\/strong> \u2013 will add property values provided in the JSON input object to a resource identified by its URI.<\/li>\n<li id=\"\"><strong id=\"\"><em id=\"\">Update<\/em><\/strong> \u2013 will remove all property values of a resource identified by its URI and add to it property values provided in the JSON input object.<\/li>\n<li id=\"\"><strong id=\"\"><em id=\"\">Delete<\/em><\/strong> \u2013 will delete a resource (or resources) identified by the URI. All triples that have the resource as subject, predicate or object will be deleted.<\/li>\n<\/ul>\n<p id=\"\">You can combine updates to multiple resources in a single mutation call. Specify \u201cCommit\u201d at the end to execute the request. You can add a log message to the update and request a report that will list the number of added and deleted triples. For more information and the detailed documentation on the GraphQL mutations see <a href=\"https:\/\/stage.topquadrant.com\/technology\/graphql\/graphql-mutations\/\" id=\"\">this page<\/a>.<\/p>\n<p id=\"\">The screenshot below demonstrates running a query to add the (made up) ISO 3-character alpha code to one specific resource that previously did not have a value for this property. All other information about this resource remains unchanged.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a583850c5e3946e068d5d_GraphQL_Query2-1024x235201.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">Just as the updates that are executed using the standard EDG user interfaces, updates executed using GraphQL will generate change history records. We will demonstrate querying history of changes at the end of this blog.<\/p>\n<h5 id=\"\"><strong id=\"\">Querying Country Model (Ontology, Schema) with GraphQL<\/strong><\/h5>\n<p id=\"\">You may need to access the model of a country e.g., what are the properties of a country and their definitions as opposed to country data. This is what we referred to above as <em id=\"\">introspection<\/em>.<\/p>\n<p id=\"\">You can do so by switching from the reference dataset we have queried above to the ontology defining the class Country or you can continue to query the Country Codes reference dataset, but switch the schema you will use for query to the so-called <em id=\"\">Metashapes<\/em>. This will use the GraphQL Schema representing the model. To compose and execute such queries on the Country Codes graph, click on \u201cas Metashapes\u201d link below.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a5874dd20f553d4002980_GraphQL_Export2-1024x274.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">You will get the same GraphiQL Editor, but the objects you can query will change.<\/p>\n<p id=\"\">For example, instead of querying for countries you can query for classes. The query below returns all classes with their property shapes and minLength, maxLength and datatype definitions specified in each property shape.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a58a6a64d727997a69512_GraphQL_Model_Query.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<h5 id=\"\"><strong id=\"\">Updating Country Model (Ontology, Schema) with GraphQL<\/strong><\/h5>\n<p id=\"\">Just as you can update country data, you can also update the definition of classes and properties using GraphQL mutations.<\/p>\n<p id=\"\">For example, instead of <em id=\"\">addToCountry<\/em>, use <em id=\"\">addToClass <\/em>and instead of <em id=\"\">createCountry<\/em>, use <em id=\"\">createClass<\/em>. Any update to the model will trigger the auto-generation of GraphQL Schemas. Of course, model updates should be changing the ontology graph, not the graph containing country codes.<\/p>\n<h5 id=\"\"><strong id=\"\">Querying Country Data Change History with GraphQL<\/strong><\/h5>\n<p id=\"\">Sometimes, you may need to know how information captured in EDG has been changing \u2013 what updates were made, when and by whom. This is available if you query the so-called <em id=\"\">Teamwork Graph<\/em>. Such queries use GraphQL Schema representing the change object. To create and execute these queries click on \u201cas Teamwork Graph\u201d link below.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a58dc50c5e3fc5d069763_GraphQL_Export3-1024x276.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">The screenshot below shows a query that returns all changes the Country Codes dataset, together with the creation data and some additional information for each change.<\/p>\n<figure class=\"w-richtext-figure-type-image w-richtext-align-center\" data-rt-type=\"image\" data-rt-align=\"center\">\n<div><img decoding=\"async\" src=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a5905775a87aacfbf90ea_GraphQL_Query3-1024x481.png\" loading=\"lazy\"><\/div>\n<\/figure>\n<p id=\"\">As you can see, the returned objects include information on the addition of a 3 character country code we have previously executed.<\/p>\n<h5 id=\"\"><strong id=\"\">In Conclusion<\/strong><\/h5>\n<p id=\"\">GraphQL is a highly popular data query and manipulation language. TopBraid EDG lets you use GraphQL to retrieve and update all information it captures \u2013 including data, models and the change history. Software developers can easily interact with the information in EDG without having to learn RDF. The input is JSON and the output is JSON. This makes GraphQL an API of choice for interacting with TopBraid EDG for reporting, data integration and a number of other needs.<\/p>\n<p id=\"\">Detailed technical documentation is available at our <a href=\"https:\/\/archive.topquadrant.com\/technology\/graphql\/\" id=\"\">GraphQL Technology page<\/a>.<\/p>\n<p>\u200d<\/p>\n<\/div><div id=\"eckb-article-content-footer\"><\/div>\r\n\t\t        <\/article><!-- \/#eckb-article-content -->     <div id=\"eckb-article-right-sidebar\">\r\n\t\t<style>\r\n\t\t\t.eckb-acll__title {\r\n\t\t\t\tcolor:#666666;\r\n\t\t\t}\r\n\t\t\t.eckb-article-cat-layout-list {\r\n\t\t\t\tbackground-color:#fcfcfc;\r\n\t\t\t\tfont-size: 14px !important;\t\t\t}\r\n\t\t\t.eckb-article-cat-layout-list a {\r\n\t\t\t\tfont-size: 14px !important;\t\t\t}\r\n\t\t\tbody .eckb-acll__cat-item__name {\r\n\t\t\t\tcolor:#2b98e5;\r\n\t\t\t\tfont-size: 14px !important;\t\t\t}\r\n\t\t\t.eckb-acll__cat-item__count {\r\n\t\t\t\tcolor:#000000;\r\n\t\t\t\tbackground-color:#FFFFFF;\r\n\t\t\t\tborder:solid 1px #CCCCCC!important;\r\n\t\t\t}\r\n\t\t<\/style>    \r\n\t\t<div class=\"eckb-article-cat-layout-list eckb-article-cat-layout-list-reset\">\r\n\t\t\t<div class=\"eckb-article-cat-layout-list__inner\">\r\n\t\t\t\t<div class=\"eckb-acll__title\">Categories<\/div>\r\n\t\t\t\t<ul>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=tq-data-foundation\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tTQ Data Foundation\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t8\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=data-governance\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tData Governance\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t69\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=vocabulary-management\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tVocabulary Management\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t9\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=knowledge-graphs\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tKnowledge Graphs\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t44\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=ontologies\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tOntologies\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t15\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item eckb--acll__cat-item--active\">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=data-fabric\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tData Fabric\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t8\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=metadata-management\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tMetadata Management\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t21\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=business-glossaries\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tBusiness Glossaries\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t6\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=semantic-layer\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tSemantic Layer\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t12\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=reference-data-management\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tReference Data Management\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t10\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=uncategorized\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tUncategorized\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t2\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=data-catalogs\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tData Catalogs\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t16\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=datasets\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tDatasets\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t11\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=taxonomies\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tTaxonomies\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t4\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=news\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tNews\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t5\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=policy-and-compliance\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tPolicy and Compliance\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t6\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=life-sciences\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tLife Sciences\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t6\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=automated-operations\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tAutomated Operations\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t6\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=financial-services\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tFinancial Services\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t10\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=ai-readiness\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tAI Readiness\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t30\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t\t\t<li class=\"eckb--acll__cat-item \">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1_category=podcasts\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__name\">\r\n\t\t\t\t\t\t\t\t\t\tPodcasts\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<span class=\"eckb-acll__cat-item__count\">\r\n\t\t\t\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t<\/li>\t\t\t\t\t\t\r\n\t\t\t\t<\/ul>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\t\t\t<\/div>\r\n\t\t\t<\/div><!-- \/#eckb-article-body -->              <div id=\"eckb-article-footer\"><\/div>\r\n\t\t<\/div><!-- \/#eckb-article-page-container-v2 -->\r\n\r\n\t\t<style id=\"eckb-article-styles\" type=\"text\/css\"> #eckb-article-body .eckb-article-toc ul a.active{background-color:#1e73be;color:#ffffff;}#eckb-article-body .eckb-article-toc ul a:hover{background-color:#e1ecf7;color:#000000;}#eckb-article-body .eckb-article-toc__inner{border-color:#2b98e5;font-size:14px !important;background-color:#fcfcfc;}#eckb-article-body .eckb-article-toc__inner a{color:#2b98e5;font-size:14px !important;}#eckb-article-body .eckb-article-toc__title{color:#2b98e5;font-size:15px !important;}@media only screen and (min-width:768px){#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-1,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-2,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-3,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-4,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-5{flex-direction:row;}}#eckb-article-content-header-row-1{margin-bottom:8px;}#eckb-article-content-header-row-1 .eckb-article-content-header-row-left-group,#eckb-article-content-header-row-1 .eckb-article-content-header-row-right-group{align-items:center;}.eckb-article-content-toolbar-button-container{background-color:#ffffff;padding:10px 10px 10px 10px;margin:0px 0px 0px 0px;border-radius:0px;border-width:0px;border-color:#ffffff;border-style:solid;}.eckb-article-content-toolbar-button-container .eckb-toolbar-button-text{color:#000000;font-size:15px;}.eckb-article-content-toolbar-button-container .eckb-toolbar-button-icon{color:#000000;font-size:20px;}.eckb-article-content-toolbar-button-container:hover{background-color:#ffffff;}.eckb-article-content-toolbar-button-container:hover .eckb-toolbar-button-text{color:#000000;}.eckb-article-content-toolbar-button-container:hover .eckb-toolbar-button-icon{color:#000000;}#eckb-article-content-header-row-2{margin-bottom:0px;}#eckb-article-content-header-row-2 .eckb-article-content-header-row-left-group,#eckb-article-content-header-row-2 .eckb-article-content-header-row-right-group{align-items:flex-end;}<\/style>   ","protected":false},"excerpt":{"rendered":"<p>In this post we will walk you through using GraphQL to read and write information captured in TopBraid EDG.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"epkb_post_type_1_category":[93],"epkb_post_type_1_tag":[],"class_list":["post-512","epkb_post_type_1","type-epkb_post_type_1","status-publish","hentry","epkb_post_type_1_category-data-fabric"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Querying TopBraid EDG with GraphQL | TopQuadrant<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Querying TopBraid EDG with GraphQL | TopQuadrant\" \/>\n<meta property=\"og:description\" content=\"In this post we will walk you through using GraphQL to read and write information captured in TopBraid EDG.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql\" \/>\n<meta property=\"og:site_name\" content=\"TopQuadrant\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-02T02:17:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql\",\"url\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql\",\"name\":\"Querying TopBraid EDG with GraphQL | TopQuadrant\",\"isPartOf\":{\"@id\":\"https:\/\/stage.topquadrant.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage\"},\"image\":{\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png\",\"datePublished\":\"2023-11-23T01:32:41+00:00\",\"dateModified\":\"2024-02-02T02:17:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage\",\"url\":\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png\",\"contentUrl\":\"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mandalay.topquadrant.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resource Hub\",\"item\":\"https:\/\/mandalay.topquadrant.com\/?post_type=epkb_post_type_1\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Querying TopBraid EDG with GraphQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stage.topquadrant.com\/#website\",\"url\":\"https:\/\/stage.topquadrant.com\/\",\"name\":\"TopQuadrant\",\"description\":\"Making Sense of Your Data\",\"publisher\":{\"@id\":\"https:\/\/stage.topquadrant.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stage.topquadrant.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stage.topquadrant.com\/#organization\",\"name\":\"TopQuadrant\",\"url\":\"https:\/\/stage.topquadrant.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stage.topquadrant.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mandalay.topquadrant.com\/wp-content\/uploads\/2024\/01\/logo.svg\",\"contentUrl\":\"https:\/\/mandalay.topquadrant.com\/wp-content\/uploads\/2024\/01\/logo.svg\",\"width\":430,\"height\":101,\"caption\":\"TopQuadrant\"},\"image\":{\"@id\":\"https:\/\/stage.topquadrant.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Querying TopBraid EDG with GraphQL | TopQuadrant","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql","og_locale":"en_US","og_type":"article","og_title":"Querying TopBraid EDG with GraphQL | TopQuadrant","og_description":"In this post we will walk you through using GraphQL to read and write information captured in TopBraid EDG.","og_url":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql","og_site_name":"TopQuadrant","article_modified_time":"2024-02-02T02:17:00+00:00","og_image":[{"url":"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql","url":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql","name":"Querying TopBraid EDG with GraphQL | TopQuadrant","isPartOf":{"@id":"https:\/\/stage.topquadrant.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage"},"image":{"@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage"},"thumbnailUrl":"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png","datePublished":"2023-11-23T01:32:41+00:00","dateModified":"2024-02-02T02:17:00+00:00","breadcrumb":{"@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#primaryimage","url":"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png","contentUrl":"https:\/\/ww2.topquadrant.com\/wp-content\/uploads\/2023\/11\/632a56af0181370a8d22bfcb_GraphQL_Country_Class-1024x637.png"},{"@type":"BreadcrumbList","@id":"https:\/\/mandalay.topquadrant.com\/?epkb_post_type_1=querying-topbraid-edg-with-graphql#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mandalay.topquadrant.com\/"},{"@type":"ListItem","position":2,"name":"Resource Hub","item":"https:\/\/mandalay.topquadrant.com\/?post_type=epkb_post_type_1"},{"@type":"ListItem","position":3,"name":"Querying TopBraid EDG with GraphQL"}]},{"@type":"WebSite","@id":"https:\/\/stage.topquadrant.com\/#website","url":"https:\/\/stage.topquadrant.com\/","name":"TopQuadrant","description":"Making Sense of Your Data","publisher":{"@id":"https:\/\/stage.topquadrant.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stage.topquadrant.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stage.topquadrant.com\/#organization","name":"TopQuadrant","url":"https:\/\/stage.topquadrant.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stage.topquadrant.com\/#\/schema\/logo\/image\/","url":"https:\/\/mandalay.topquadrant.com\/wp-content\/uploads\/2024\/01\/logo.svg","contentUrl":"https:\/\/mandalay.topquadrant.com\/wp-content\/uploads\/2024\/01\/logo.svg","width":430,"height":101,"caption":"TopQuadrant"},"image":{"@id":"https:\/\/stage.topquadrant.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=\/wp\/v2\/epkb_post_type_1\/512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=\/wp\/v2\/epkb_post_type_1"}],"about":[{"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=\/wp\/v2\/types\/epkb_post_type_1"}],"author":[{"embeddable":true,"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=512"}],"version-history":[{"count":0,"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=\/wp\/v2\/epkb_post_type_1\/512\/revisions"}],"wp:attachment":[{"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=512"}],"wp:term":[{"taxonomy":"epkb_post_type_1_category","embeddable":true,"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=%2Fwp%2Fv2%2Fepkb_post_type_1_category&post=512"},{"taxonomy":"epkb_post_type_1_tag","embeddable":true,"href":"https:\/\/mandalay.topquadrant.com\/index.php?rest_route=%2Fwp%2Fv2%2Fepkb_post_type_1_tag&post=512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}