Live data from Hacker News

What Is a Knowledge Graph?

neo4j.com

21–30 of 60 posts

Re: What Is a Knowledge Graph?

#21
> free copy of the O’Reilly book "Building Knowledge Graphs: A Practitioner’s Guide"

Knowledge Graph (disambiguation) https://en.wikipedia.org/wiki/Knowledge_Graph_(disambiguatio...

Knowledge graph: https://en.wikipedia.org/wiki/Knowledge_graph :

> In knowledge representation and reasoning, a knowledge graph is a knowledge base that uses a graph-structured data model or topology to represent and operate on data. Knowledge graphs are often used to store interlinked descriptions of entities – objects, events, situations or abstract concepts – while also encoding the free-form semantics or relationships underlying these entities. [1][2]

> Since the development of the Semantic Web, knowledge graphs have often been associated with linked open data projects, focusing on the connections between concepts and entities. [3][4] They are also historically associated with and used by search engines such as Google, Bing, Yext and Yahoo; knowledge-engines and question-answering services such as WolframAlpha, Apple's Siri, and Amazon Alexa; and social networks

Ideally, a Knowledge Graph - starting with maybe a "personal knowledge base" in a text document format that can be rendered to HTML with templates - can be linked with other data about things with correlate-able names; ideally you can JOIN a knowledge graph with other graphs as you can if the Node and Edge Relations with Schema and URIs make it possible to JOIN.

A knowledge graph is a collection of nodes and edges (or nodes and edge nodes) with schema so that it is query-able and JOIN-able with.

A Named Graph URI may be the graphid ?g of an RDF statement in a quadstore:

  ?g ?s ?p ?o   // ?o_datatype ?o_lang

Re: What Is a Knowledge Graph?

#22

Earlier quoted context omitted.

> That the author omits the updates for property annotations using RDF* is probably not an accident and glosses over the issues with their proprietary clunky query language. Not just that, w.r.t. reification they gloss over the fact that neo4j has the opposite problem. Unlike RDF it is unable to cleanly represent multiple values for the same property and requires reification or clunky lists to fix it.

> clunky lists Not sure what the problem is here. The nodes and relationships are represented as JSON so it's fairly easy to work with them. They also come with a pretty extensive set of list functions[0] and operators[1]. Neo4j's UNWIND makes it relatively straightforward to manipulate the lists as well[2]. I'm not super familiar with RDF triplestores, but what's nice about Neo4j is that it's easy enough to use as a…

It has been a while so maybe things have changed, but the main reasons I remember are 1) lists stored as a property must be a homogeneous list of simple builtin datatypes so no mixing of types, custom types, or language tagging like RDF has as first class concepts. 2) indexes on lists are much more limited ( exact match only iirc) so depending on the size of the data and the search parameters it could be a big performance issue. 3) cypher gets cumbersome if you have many multi-valued properties because every clause becomes any(elem in node.foo where ). In Sparql it's just ?node schema:foo .

I don't think everybody should run away from property graphs for RDF or anything, in terms of the whole package they are probably the right technical call ninety-something percent of the time. I just find Neo4J's fairly consistent mischaracterization annoying and I have a soft spot for how amazingly flexible RDF is, especially with RDF-star.

Re: What Is a Knowledge Graph?

#23
A rant about Chrome Bookmarks Manager (it's on-topic, I promise).

A few years ago, a Good Samaritan on HN told me my bookmarks (I had about 10,000 at the time) were my "knowledge graph".

I had no idea what that was, but upon researching the concept, I was mind-blown by the simple truth of what I had been told.

Since then I became even more rapacious with my bookmarking (and especially editing their "Name" field to add tags and keywords), and I have about 30,000 bookmarks now.

And they truly are my knowledge graph. More so than the 1,000 or so text files where I store my notes on various topics. Mainly because of the Bookmarks Search feature. Let's say I want to refresh my understanding of Permutations, Combinations, Factorials (like I wanted to do, and did, yesterday). All I have to do is enter those keywords into Bookmarks Search and I instantly get the best (i.e. most relevant and intuitive for me) articles I've ever found on these topics (because I've bookmarked and tagged/keyworded them in the past). I find that more and more bookmarks end up with 404's these days, but then there's Internet Archive. Invaluable.

Which brings me to Chrome Bookmarks. There seems to have been no innovation in the last 15 years (other than the time they replaced the prior [and post/current] system with the horrible "Cards", and thankfully reversed course due to the howling protests and decided to instead offer "Cards" as a Chrome Extension [which is apparently not popular]). For example:

- One still cannot exclusively search folder names.

- One cannot search within a single folder only (by extension, one cannot search within selected multiple folders only).

- One cannot use Regex to search, or do any kind of Fuzzy Search.

- One cannot download (cache) a copy of a bookmarked page (in case the page 404s in the future) to store permanently in the some Zotero type storage system.

- When adding a new bookmark, one cannot conduct a search (using text keywords) for the folder one wants to store it in.

I realize that some of these features are available via third-party Chrome Extensions and the like. However, I stopped relying on third party anything after I relied on one for tagging bookmarks and this third party Extension decided one day to 404 on me (it shut down).

Please Google do more with Chrome Bookmarks.

Rant over.

(Addendum 1: Regarding the text files: yeah, I've tried Zettelkasten software. The one that came closest to my liking was FeatherWiki. However, in the end I continued with plain ol' text files because they're the most Lindy [plain text files are likely going to be the last format rendered unreadable by whatever destroys civilization as we know it].)

(Addendum 2: there seem to be some people out there who have uncanny storage and retrieval systems. E.g. @Balajis on X comes to mind. When he's in a debate/argument on X, he has an uncanny ability to pull out relevant contextual material, instantly, from his back pocket when the situation demands it. Let's hope they share their systems.)

Re: What Is a Knowledge Graph?

#24
post #17

Earlier quoted context omitted.

What sort of relationships have you seen in the data you've worked with that you'd describe as remarkable? I've explained a similar thing to friends before, but I was always at a loss for relationships/insights that have led to concrete outcomes

Supply chain and logistics. We’d start to see where the biggest risk points were and use that to diversify risk and also rank failover. We could make predictions about how the supply chain would be disrupted based on individual suppliers/movers/warehouses/etc having events that affected their ability to perform. You start to see how much some suppliers rely on each other, etc. Holy hell did Covid make that crazy!

I think anything that has physical {nodes} and {edges}, where all things in each category are alike but very distinct from the other category, and connectivity is only achievable via a limited set of (not free) paths.

E.g. telecom networks, electrical grids, travel networks (including logistics), etc.

All of these feature a very different node (usually a system or capital asset) vs an edge (usually a wire or constructed path), and insight into the structure is economically valuable.

(That's talking to more traditional uses of graph theory, less-so to modern knowledge graphs)

Re: What Is a Knowledge Graph?

#25

A rant about Chrome Bookmarks Manager (it's on-topic, I promise). A few years ago, a Good Samaritan on HN told me my bookmarks (I had about 10,000 at the time) were my "knowledge graph". I had no idea what that was, but upon researching the concept, I was mind-blown by the simple truth of what I had been told. Since then I became even more rapacious with my bookmarking (and especially editing their "Name" field to ad…

This doesn’t seem on topic, how is it a knowledge graph? Its a (nested) list of bookmarks…

Re: What Is a Knowledge Graph?

#26

A rant about Chrome Bookmarks Manager (it's on-topic, I promise). A few years ago, a Good Samaritan on HN told me my bookmarks (I had about 10,000 at the time) were my "knowledge graph". I had no idea what that was, but upon researching the concept, I was mind-blown by the simple truth of what I had been told. Since then I became even more rapacious with my bookmarking (and especially editing their "Name" field to ad…

This doesn’t seem on topic, how is it a knowledge graph? Its a (nested) list of bookmarks…

E.g. I add the keywords "Permutations, Combinations" to the "Name" field of a bunch of Bookmarks.

I have now crosslinked the Bookmarks.

So while it may not be exactly what the linked OP article is talking about, it's a way of storing knowledge, linked via horizontal relationships.

But whatever floats your boat.

Re: What Is a Knowledge Graph?

#27
post #8

An interesting use of Knowledge Graphs is doing research into historic document, such when doing genealogical research or researching into some historic event, person or location. In those applications, you often have that sources do not have direct references (a person name in one document cannot always be identified with with 100% certainty) or are contradicting each other (one source gives a different date than an…

I've built something along these lines. It utilises OCR to extract text content, indexes it for RAG, uses a separate service to identify/match concepts to reference data in an RDF knowledge graph, and displays the original source documents with the references to KG concepts overlayed.

Re: What Is a Knowledge Graph?

#28
post #4

Good article on the high level concepts of a knowledge graph, but some concerning mischaracterizations of core functions of ontologies supporting the class schema and continued disparaging of competing standards-based (RDF triple-store) solutions. That the author omits the updates for property annotations using RDF* is probably not an accident and glosses over the issues with their proprietary clunky query language.…

While I'm all for standards-based options, I think the fetishization does a disservice to anyone dipping their toes into graph databases for the first time. For someone with no prior experience, Cypher is everywhere and implements a ton of common graph algorithms which are huge pain points. AuraDB provides an enterprise-level fully-managed offering which is table stakes for, say, relational databases. Obviously the author has a bias, but one of the overarching philosophical differences between Neo4J and a Triple Store solution is that the former is more flexible; that plays out in their downplaying of ontologies (which are important for keeping data manageable but are also hard to decide and iterate on).

Re: What Is a Knowledge Graph?

#29

Earlier quoted context omitted.

> clunky lists Not sure what the problem is here. The nodes and relationships are represented as JSON so it's fairly easy to work with them. They also come with a pretty extensive set of list functions[0] and operators[1]. Neo4j's UNWIND makes it relatively straightforward to manipulate the lists as well[2]. I'm not super familiar with RDF triplestores, but what's nice about Neo4j is that it's easy enough to use as a…

It has been a while so maybe things have changed, but the main reasons I remember are 1) lists stored as a property must be a homogeneous list of simple builtin datatypes so no mixing of types, custom types, or language tagging like RDF has as first class concepts. 2) indexes on lists are much more limited ( exact match only iirc) so depending on the size of the data and the search parameters it could be a big perfor…

What would you recommend as an RDF database to explore?

Re: What Is a Knowledge Graph?

#30

For me a knowledge graph is a complex network. When you try to grasp any complex topic your brain starts to build and connect a fuzzy network of topics and their respective positive or negative correlations and of course the weights between the connections. Once you have unfuzzied the picture in your head you realize that the network is active and dynamic and that this network has different "modes" of operation and t…

The world is a complex network. The knowledge graph is a reliable path through the network. I.e., "knowing" the way from your home to your office. Or "knowing" where to find your Word doc and how to use it.
Post reply on HN