ICAP - Internet Computer Analytics Platform

ICAP – Internet Computer Analytics Platform

Project highlights

ICAP is a platform for users to query and analyze data from various sources in the ICP ecosystem. Currently, it comprehends canisters for handling semantic data and a domain ontology called ICOnto that is designed to represent and structure the main conceptual entities of the ecosystem.

Our target users range from blockchain developers and data analysts to crypto enthusiasts and IC holders. For instance, developers who want to access specific technical insights and performance metrics for application development and deployment using detailed SPARQL queries. Data analysts which may utilize metrics and trends available in ICAP to generate insightful reports and support better business decisions. Or for instance, IC holders and general ecosystem users who may want to track key indicators relevant to transactions and token movement, or even the network health or maybe governance decisions.

The problem we’re solving? Simplifying data analytics in the Web3 domain.

How is it built

Currently, ICAP is composed by the ICOnto ontology, a backend canister that provides a triplestore implementation, and a frontend canister to allow accessing the knowledge stored in the triplestore using SPARQL query language.

ICOnto: Version 0.0.3 of the ICOnto ontology is based on official documentation, glossary definitions, and different assets such as the ICP Dashboard. The ontology is expressed in Turtle format and defines relationships and properties between entities, providing a foundational understanding of the ecosystem. Version 0.0.3 of the ontology features a TBox definition with a total of 461 triples, 74 classes, and 46 properties. By incorporating the main entities and relationships that represents the ICP domain, the ontology ensures consistent definition of key terms, facilitating clear communication and collaboration among developers, researchers, and stakeholders in the IC community

Backend canister: We’ve created and deployed a triplestore that incorporates the ICOnto ontology, and provides endpoints for structured data retrieval and storage. The backend canister features are based on the rdflib.js and uses the Azle CDK. The triplestore is a key component that serves as a repository for the ICOnto class definitions (or TBox statements). That is, the very core definition of the ontology which will be kept in the ICP blockchain.

Preliminary ETL: To enable the initial tests of ICAP, we created a preliminary ETL (Extract, Transform, and Load) mechanism to extract transaction records from the ICP network, convert these records to entities according to the ICOnto mapping, and load the converted entities into the triplestore. The extraction mechanism uses the ICP Rosetta API to fetch data.

Tests: We created test units to cover core functions in the ICAP platform. Unit tests for the initialization of the triplestore as well as for querying it. Also, unit tests focused on the preliminary ETL mechanism, which asserts extraction, conversion and loading of transactions in the network and then verifies if the such transactions were loaded correctly in the triplestore by querying for all transactions available in the triplestore.

Frontend canister: A frontend canister was deployed to perform SPARQL queries and retrieve information from the triplestore backend. It enables accessing the knowledge stored in the triplestore through a simple interface with syntax highlighting. It is currently a tool for facilitating the interaction with the triplestore and will be further extended in the future.

The proposed modular architecture and API specifications provide features to enable querying, knowledge structuring, and dashboard management. The architecture comprises a client layer with an API for external applications and a frontend interface. The engine layer includes components such as a Controlled Natural Language for query parsing, a Query component for structured data retrieval, and engines for generating informative artifacts and managing dashboards. The data layer handles information extraction workflows and knowledge management, ensuring structured representation aligned with the ICOnto ontology. Finally, the ecosystem layer interacts with the IC network, incorporating features for accessing and managing ecosystem data within the platform.

Internet Computer superpowers

An attractive differentiator on IC is the possibility of choosing among various high-level programming languages, using Candid for standardized interface descriptions, and inter-canister communication. The IC SDK and extensive documentation provides a streamlined building experience, which made it a suitable option for us at MOBR.

Go-To-Market and monetization strategies

After concluding the next phase in our roadmap, we expect to leverage the platform and monetize it via additional funding applications or a SaaS subscription model (monthly fee payments and a free tier with limited capabilities). Such a model would enable a continuous maintenance and evolution of the platform afterwards. Our long-term vision is to make the analytics platform a central hub for data insights and analytics within the Internet Computer ecosystem. We aim to continuously enhance the platform, integrating with new data sources, and expanding its capabilities based on community feedback and evolving ecosystem requirements. Additionally, we plan to explore opportunities to collaborate with other projects in the ecosystem to create a more interconnected and data-driven ecosystem.

By achieving the proposed roadmap, we are confident that the analytics platform will be a valuable tool for the Internet Computer community, enhancing data-driven decision-making and fostering the growth and adoption of the ecosystem.

Status of the project

We have just delivered Phase 1 of the ICAP project and delivered an extended version of the ICOnto ontology, a backend canister that provides a triplestore implementation, and a frontend canister to allow accessing the knowledge stored in the triplestore using SPARQL.

Resources

The project’s source code can be accessed on GitHub. We’ve deployed initial versions of the triplestore backend canister, and SPARQL editor frontend canister on the IC network:

Frontend: https://lixne-xqaaa-aaaap-ab2va-cai.icp0.io/

Backend Candid UI: DFINITY Canister Candid UI

Future Plans

The next phase of the project entails the cohesive integration of data processing, querying, and visualization components of the ICAP platform. The initial focus will be on data extraction from the Internet Computer and the creation of semantic ETL workflows to structure data in alignment with the ICOnto ontology. Next, a Controlled Natural Language (CNL) specification is planned to enable swift interaction through natural language queries. A robust Query Engine component will execute CNL-based queries, retrieving pertinent data from the knowledge base. Finally, the creation of a Visualization interface, empowering users to create personalized dashboards by combining diverse informative artifacts. The goal is to facilitate intuitive data exploration and analysis, while enhancing overall platform accessibility and user experience.

We intend to fund the next phase of the project via a follow-up Developer Grant Program.

6 Likes