Introducing GRC-20: A Knowledge Graph Standard for Web3
The Need for Data Standards in Web3
The vision of web3 started nearly a decade ago and since then many teams have been working to create the foundation for a new internet. We’ve come a long way, but there have been a few missing building blocks preventing people from building truly interoperable applications. In a recent post, Knowledge graphs are web3, we shared how knowledge graphs are the key to enabling verifiable, open and composable applications. Today we’re excited to introduce a draft of the GRC-20 knowledge standard!
GRC-20 is a proposal for a data standard for web3 that defines how information is structured, shared, and connected across decentralized applications. Just as ERC-20 created a standard for value on Ethereum, enabling DeFi and the decentralized internet of value to flourish, GRC-20 creates a common language for knowledge, so we can fully realize the vision of an open, verifiable and composable web3.
Understanding Information vs. Knowledge
Information is data that is decoded and interpreted into a useful structure. Knowledge is created when information is linked and labeled to attain a higher level of understanding. When working within an organization, developers can ensure that a strict information structure is adhered to. But web3 is an open ecosystem for creating applications that interoperate and work across organizational boundaries. If we want true composability we need a data structure that allows consumer-facing applications to evolve on a foundation of interoperability combined with full freedom and customization.
Why Knowledge Graphs?
Knowledge graphs are a data structure that represent information as interconnected entities and relationships. Think of them as digital maps showing how different pieces of information relate to each other. For example, in a knowledge graph about movies, you might have entities like ‘actors,’ ‘films,’ and ‘directors,’ with relationships showing who acted in which films and who directed them. You can even add facts like which scenes are notable or financial and box office information, even if you didn’t know that you would care about that information at first. People could build lots of different applications on top of that shared dataset with customized workflows for different types of users.
Knowledge graphs are the most flexible way of representing information. They let you accurately represent complex relationships between things the way they exist in the real world. As information evolves and connections come and go, knowledge graphs are able to keep up and evolve to handle the dynamic nature of reality.
Most information systems are rigid. Developers choose a schema or structure for information that fits their application but as soon as someone else wants to extend or customize the structure for a different app, the interoperability breaks down. Maintaining fresh, composable and interoperable information is important because, in a world where billions of people are all communicating at the same time, it’s hard for people and traditional institutions to keep up with the rate of information production. Because of that, people no longer know what to trust. We need better systems to store, process, filter, and make sense of all this information. Web3 is the solution to the world’s knowledge and information problems. And it all starts with how we structure knowledge.
Introducing GRC-20: Beyond Traditional Standards
Knowledge is highly interconnected across applications and domains, so flexibility is important to ensure that different groups and individuals can independently extend and consume knowledge in an interoperable format. Triples are widely understood in computer science to be the best unit for sharing knowledge across organizational boundaries. In essence, a triple is a set of three related elements that describe a piece of information, usually in the form of an entity (the thing being described), an attribute (the property or characteristic of that entity), and a value (the value or entity associated with that attribute). RDF is the W3C standard for triples data and the web. Yet, RDF falls short in meeting the unique requirements of the decentralized web.
A new standard is necessary for web3 for several reasons. IDs in RDF are URIs which typically point to servers that are controlled by corporations or individuals using https. This breaks the web3 requirement of eliminating dependence on specific server operators. Additionally, RDF doesn't support the property graph model. Some RDF concepts are cumbersome and complex which has hindered its adoption beyond academic and small enterprise deployments. For these reasons, we are proposing a new standard that is web3 native, benefits from the latest advancements in graph databases and can be easily picked up by anyone who wants to build the decentralized web.
Just as Subgraphs became a data standard for the web3 ecosystem, we want GRC-20 to be the knowledge standard that enables rich interoperable applications for many decades to come.
How GRC-20 Works
GRC-20 organizes knowledge in a structured yet highly flexible way, using a few core concepts: Spaces for grouping information, Entities and Relations for representing individual pieces of data, and Types for adding structure to information. This facilitates independent control and global interconnection.
Spaces
On The Graph, knowledge is organized into spaces. Anyone can create a space for a community, project or individual. There are public spaces, personal spaces and private spaces. Personal spaces are created for individuals or companies that want to publish public knowledge but want full control over their own spaces. To remain unbiased and establish shared truth, public spaces must live on a public blockchain and include a public governance process. Each space’s knowledge graph can link to entities across the entire graph, creating a global, unified and interconnected graph.
Entities, Relations and Types
Each person, place, thing or concept in The Graph is represented as an Entity with a unique ID. Entities contain triples describing facts and can have relations with other entities. In graph terms, entities are nodes, relations are edges, and entities can have various types. For example The Graph is both a Project and a Protocol. Types provide structure and describe what fields may exist on an entity.
Through these interconnected Spaces, Entities and Relations, GRC-20 creates a foundation for representing and sharing data across web3. To see how this framework can be applied, let’s explore some practical use cases across different domains.
Use Cases for GRC-20
Any type of application can be built using composable knowledge enabled by GRC-20. Let’s look at some example use cases and see how GRC-20’s flexible Types, Entities and Relations can allow us to describe complex relationships in different domains.
News
News is an industry that’s in big need of reform. There’s tremendous bias in journalism and people no longer know what to trust. The problem of being able to better trust and make sense of the news can be tackled by better structuring News related knowledge. Every day a large list of news worthy events takes place. Each of those can be modeled as a News story. Each news story can have Relations to Articles about that story. Individual Claims can be extracted from those Articles and debated individually. By structuring different points of view, people can drill down into the areas they care about and form more informed opinions.
Health
Western medicine and the medical establishment has gone largely unchallenged for decades. There are strong entrenched interests like Pharmaceutical companies, big Hospitals, Insurance companies and other large organizations that benefit from the status quo. But there’s also a movement for individuals to take more agency in understanding their health through things like quantified self, biohacking and developing healthy habits. When it comes to health, grounding our understanding in research and data is important. What exercises are most effective? What supplements are worth taking? How can we personalize treatments to our individual genetics? All of this information can be organized as knowledge with health care providers and health enthusiasts participating.
Education
The labor market is rapidly evolving and education needs to adapt to meet the needs of students who want to learn valuable skills and to meet the needs of employers and society at large. Organizing courses, lessons and topics with a knowledge graph can be a very effective way of mapping topics and skills that are relevant to different real world challenges and goals. Experts in different fields can weigh in to rank lessons and make sure that what people are learning is valuable. Academia and universities can ensure that knowledge is organized using rigorous processes and peer review. Protocols can publish educational content for using and interacting with their protocols. By better organizing educational content and services, we can help train the next generation to better meet the needs of our time.
Next steps
GRC-20 is currently in a draft stage pending public comments. Once enough feedback has been received and incorporated, the GRC-20 will be finalized as an initial standard that can be extended over time.
We encourage you to play around with the standard and define Types for your applications. The Geo team will be releasing a set of tools over the coming weeks to create and work with GRC-20 knowledge. After the launch of Geo Genesis, there will be an initial set of spaces with common types that can be used by projects and individuals. We’ll be sharing more details about the governance principles for public spaces in a future post.
Together we can build a web that’s free, open and composable. We can structure knowledge better so that people can represent and make sense of the complexity of our modern world and participate in shaping its evolution. Here’s to a vibrant, decentralized and composable future.
*Check out the *GRC-20 spec on GitHub*, and please share your feedback on *The Graph’s governance forum