ArcGIS Knowledge

Build web apps using ArcGIS Knowledge Server REST APIs

ArcGIS Knowledge introduces compelling new graph analysis capabilities to explore spatial and non-spatial relationships in ArcGIS Enterprise and ArcGIS Pro.

It enables organizations to identify and understand the complex relationships that are found within vast amounts of data using the power of graph databases.

And now, developers can leverage the ArcGIS Knowledge Server REST API to build web applications where this interconnected data can be visualized on any device with a web browser. The REST API can be used to perform graph queries across relationship links, edit entities, edit relationships, or even to edit the data model of the graph itself.

Scenario

To see the real power of this capability in action, consider a farm-to-table supply chain scenario. Food supply chains are important when considering ingredient sourcing for freshness or when tracing the origin of foodborne illness.

In this example:

  1. A farm produces fresh produce and goods
  2. Many vendors purchase goods from these farms
  3. Vendors supply these goods to participating restaurants as ingredients
  4. Customers patronize these restaurants to consume menu items made from ingredients

The flow of the food supply chain can be visualized from farm to customer or from customer back to farm with a directed graph structure.

Graph databases, such as those that power ArcGIS Knowledge, structure data differently than the rows and columns of a traditional database, and emphasize the patterns that define the relationships between entities.

Visualize results

For this scenario, a supply chain has been modeled in a graph schema as shown in the diagram below.

Supply chain schema transformation

The various geospatial entities are in the diagram represented with icons. These entities are connected to each other through to non-geospatial entities, such as the food a vendor buys from a farm supplier, or the meals that are consumed by a person dining at a restaurant.

However, to meaningfully visualize the supply chain in a geospatial context, the user needs the geospatial entities to be directly connected on the web map scene if a valid path exists between them.

Using the services and data of the REST API, the web app finds the valid paths between geospatial entities via non-geospatial intermediary entities.

These paths are then rendered as direct lines between entity locations. Furthermore, finding this information allows the user to select a particular entity and visualize the up and downstream supply chain flow.

About the APIs

The Knowledge Graph Service APIs are in the ArcGIS REST Services Directory and organized with a similar structure to other service APIs such as map and feature services. They have similar endpoints to perform data transaction operations like query and apply edits.

One significant difference is that ArcGIS Knowledge is powered by a graph store instead of a relational database. As a result, when querying data, you will use openCypher instead of SQL. This allows you to structure queries that match patterns across the graph, to enable analysis. This workflow would be very difficult to achieve using a traditional relational database.

ArcGIS Knowledge Server REST API

Regardless, these APIs and underlying data can be consumed by both Esri and non-Esri libraries. For example, the following web app was built using non-Esri tools to visualize the same farm-to-table supply chain scenario.

The web app uses a Force-directed graph drawing, is powered by the Open Source D3 graphics rendering library, and was enhanced with added additional functionality, such as expandability. The Material-UI component library provides flexibility to visualize the underlying data using a variety of tabular formats.

Conclusion

We’re excited for the future of graph data with ArcGIS and are looking forward to seeing what you, the developer community, can build with graphs powered by ArcGIS Knowledge services.

About the authors

Sara is a lead product engineer on the ArcGIS Enterprise team. She enjoys spending time at the lake, non-fiction, and cooking.

Rob Santos

Robert Santos is a Senior Web Developer on the ArcGIS Knowledge development team with a background in a variety of front-end frameworks, NodeJS and Java based middleware, and database administration. His passion is for building web application systems that transform data into tools that are exactly what users need to do their job more quickly and effectively. He is especially excited for the awesome new capabilities graph databases and APIs are bringing to the Esri ecosystem via the new ArcGIS Knowledge capability! Rob has designed and delivered solutions for Esri product teams and a variety of clients across the government and commercial sectors. Rob graduated with a BS in Computer Science from the US Air Force Academy in 2007 and a MA in International Relations from St. Mary’s University in 2012. As a Cyberspace Operations Officer on the active duty US Air Force, he traveled the world to evaluate or oversee network performance, security, and operations. He transitioned to civilian life as a developer in 2015 and has been a part of Esri since 2018. An avid PC gamer, he enjoys any game that involves building things or an immersive world. Rob lives in St. Louis with his wife of 14 years, Laura, their two miniature Dachshunds, and their new son Bobby.

Connect:
0 Comments
Inline Feedbacks
View all comments

Next Article

7 Steps to Enhance Your Social Equity Analysis

Read this article