A knowledge graph is a "directed labeled graph in which domain specific meanings are associated with nodes and edges". A node could represent any real-world entity, for example, people, company, computer, etc. An edge label captures the relationship of interest between the two nodes, for example, a friendship relationship between two people, a customer relationship between a company and person, or a network connection between two computers, etc."[^1] See also [[semantic network]]. A current debate is whether to build a knowledge graph as a property graph or in [[RDF]]. [[Juan Sequeda]] recognizes both, and recommends the following (quote from his Substack[^2]) - If you’re building for a specific application that has graphy properties → knowledge + data are tightly connected, so pick the technology that enables you to build out your application. This will probably be a property graph. - If you’re building for enterprise-wide integration → treat knowledge as first-class, separate it from data, and focus on semantic governance. The knowledge should be managed in RDF because of the need to have a way to model ontologies and have identifiers as native part of the data model. The data? It will probably be a mix of everything. ## graph query language - [[neo4j]] - [InstaGraph](https://github.com/yoheinakajima/instagraph): free open source tool for converting text or URLs into knowledge graphs. - [Diffbot](https://www.diffbot.com/) ## open knowledge network [Proto-OKN](https://www.proto-okn.net/) The Proto-OKN (Open Knowledge Network) project is another example of a knowledge graph platform that aims to provide an open infrastructure for representing and sharing knowledge. [KnowWhere Knowledge Graph](https://knowwheregraph.org/) is an environmental OKN. [Data Commons](https://datacommons.org/) ## graph representation learning Graph representation learning converts unstructured data to graph representations. Methods include - network embedding theories and systems; - foundations of graph neural networks (GNNs) - CogDL toolkit for GNNs - scalable GNNs - self-supervised learning in GNNs and - heterogeneous graphs and heterogeneous GNNs. [^1]: [[chaudhri2022|Knowledge graphs Introduction history and perspectives]] [^2]: https://substack.com/inbox/post/180471824