# Re: What is a Knowledge Graph? CORRECTION

From: Patrick J Hayes <phayes@ihmc.us>
Date: Sat, 15 Jun 2019 10:54:11 -0700
Message-ID: <943E8EC5-5C55-46E0-90A0-268E75BE5B3C@ihmc.us>
CC: Paola Di Maio <paoladimaio10@gmail.com>, xyzscy <1047571207@qq.com>, semantic-web <semantic-web@w3.org>
To: Chris Harding <chris@lacibus.net>
```Chris,a few remarks.

1. Although obviously a node-edge-node is a triple, so any (directed, labeled) graph can be treated as a set of triples, not all sets of triples can be drawn as a graphical diagram. RDF graphs (= sets of RF triples, by definition) for example can have the same label used as both a node and arc label, possibly even in the same triple. I would suggest treating the word “graph” here as a handy way to describe triple-sets and leave it at that.

2. Being ’thought of as’ something can hardly be used as a definition. I can think of a pile of grey rags as an elephant, but that doesnt make it actually be anything.

3. To speak of ‘concepts' and 'nodes representing' them is getting very blurry indeed with semantics, to the point where one loses meaning altogether. Most nodes in most K. graphs do what names in Krep notations usually do: they /denote/ /things/ (‘entities’ if you like). After working in the semantcs area for most of my career, I have no clear idea what ‘concepts’ are, but if the concept of, say, Paris is anything other than a city, then a node with the label “Paris”, intended to name the capital of France, does NOT represent a concept.

4. The notion of higher-dimensional triple is new. (Did you mean ‘higher-order’?) And can you illustrate this technique of real-valued vectors to encode them?

5. The semantic nets of the 1970s were, almost univerally, /much/ more expressive than knowledge graphs or RDF, or any of the other ‘graph’-like modern notations. They typically had ways of encoding quantifier scopes, disjunction, negation and sometimes such things as modal operators. The grandfather of them all, C.S.Peirce’s ‘existential graphs’  had the full expressivity of first-order logic in 1885 (implemented as ‘conceptual graphs’ by John Sowa about 90 years later http://www.jfsowa.com/cg/cgonto.htm <http://www.jfsowa.com/cg/cgonto.htm>). It has been downhill from there.

Pat Hayes

> On Jun 14, 2019, at 1:31 PM, Chris Harding <chris@lacibus.net> wrote:
>
> Hi, Paola -
>
> Interesting question! I think that graphs relate particularly to triples because node-edge-node can be represented as a triple, so a collection of triples describes a graph.
>
> So "a collection of triples to which someone attaches meaning" doesn't quite capture it. Maybe "a collection of triples to which someone attaches meaning and which is thought of as a graph, with the nodes representing concepts and the edges representing meaningful connections between them" would come closer?
>
> Higher-dimension tuples can come in as embedded vectors - tuples of real numbers that cam be associated with nodes or edges of the knowledge graph to convey attribute values. There appear to be various techniques for producing these, including AI.I think it is these techniques that take us beyond "the good old semantic nets of the 70ies" - although scale is important too.
>
> Paola Di Maio wrote:
>> Chris
>> KG can also be any n-tuple, isnt it?
>>
>> On Thu, Jun 13, 2019 at 6:21 PM Chris Harding <chris@lacibus.net <mailto:chris@lacibus.net>> wrote:
>> I should have said that it is a collection of triples to which someone attaches meaning. The triples might or might not be in a triple store.
>>
>> Chris Harding wrote:
>>> What is a knowledge graph?
>>>
>>> I looked it up in Wikipedia, and the definition seemed to be "What Google does". Reading a bit more widely, I came to the conclusion that it is a triple store to which someone attaches meaning. (Of course, this is most, if not all, triple stores.) What is interesting is the impressive amount of theory and practice, associated with the "knowledge graph" label, for using AI and other techniques to obtain transformations or measurements of the triple stores that add to the meaning that people attach to them.
>>>
>>> I found these articles helpful:
>>> http://ceur-ws.org/Vol-2322/dsi4-6.pdf <http://ceur-ws.org/Vol-2322/dsi4-6.pdf>
>>> https://towardsdatascience.com/neural-network-embeddings-explained-4d028e6f0526 <https://towardsdatascience.com/neural-network-embeddings-explained-4d028e6f0526>
>>> https://content.iospress.com/articles/data-science/ds007 <https://content.iospress.com/articles/data-science/ds007>
>>>
>>> xyzscy wrote:
>>>> Thank you for your response. I think the KG term is spread by GOOGLE, while I don’t how google implement it.  I used to think the semantic network  is the key technology of KG,but google has never statement that.
>>>>> 在 2019年6月13日，下午2:46，Paola Di Maio <paola.dimaio@gmail.com <mailto:paola.dimaio@gmail.com>> 写道：
>>>>>
>>>>> Thank you for asking this,
>>>>>
>>>>> I  ll leave the experts to reply to scalability and other questions
>>>>>
>>>>> In general, much depends on the language one uses, which in turn
>>>>> depends on the domain (which planet you come from)
>>>>>
>>>>> When I first studied knowledge engineering, the expression knowledge graph
>>>>> was not in use at all. I was doing an MSc and studied the body of knowledge
>>>>> from ESPRIT project (some folks on this list worked on it)
>>>>> https://pdfs.semanticscholar.org/193e/b66909b0c87d5dbcdbd6b20d78ed93fc95a7.pdf <https://pdfs.semanticscholar.org/193e/b66909b0c87d5dbcdbd6b20d78ed93fc95a7.pdf>
>>>>>
>>>>>  I d be curious to learn when such term knowledge graph came in use and who coined it
>>>>>
>>>>> I then heard it in relation to the SW and this list, and always tried to figure out what exactly
>>>>> a KG is (in relation the wider Knowledge Representation domain I was studying)
>>>>>
>>>>> Knowledge graphs are a type of knowledge representation, and they can be visualized
>>>>> graphically, or represented using algebra (again, depends on what planet you are on)
>>>>> Engineers tend to use diagrams, others tend to use algebra
>>>>>
>>>>> But more importantly, is that they enable machine readability querying and computational manipulation of complex (combined) data sets, assuming knowledge is some kind of data in context, as some say.
>>>>> I dont use the term knowledge graph much either.  Let's see if the KG folks can offer more info
>>>>>
>>>>> PDM
>>>>> Knowledge Graph Representation
>>>>> Knowledge graphs provide a unified format for representing knowledge about relationships between entities. A knowledge graph is a collection of triples, with each triple (h,t,r) denoting the fact that relation r exists between head entity h and tail en- tity t. http://ceur-ws.org/Vol-2322/dsi4-6.pdf <http://ceur-ws.org/Vol-2322/dsi4-6.pdf>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Jun 13, 2019 at 1:40 PM 我 <1047571207@qq.com <mailto:1047571207@qq.com>> wrote:
>>>>> Dear all:
>>>>>
>>>>> When I first touch knowledge graph, I'm very confused. Different from the other AI theory,  it is not an pattern recognization algorithm which will  give some "output" given some "input"(such as classify algorithms) ,but a program language(such as owl,rdf) and database(such as neo4j) instead. So in my opinion, knowledge graph is more like a problem of engineering than mathematic theory.
>>>>>
>>>>> Then I realized that different from the pattern recognization algorithm, the knowledge graph is created aimed at making the computes all over the world to  communicate with each other with a common language, and I have a question: Is scalability the key property of knowledge graph?
>>>>>
>>>>> There are many knowledge vaults edited by different language(such as owl,rdf ),but is it always hard to merge them and there is not a standard knowledge vault  on which  we can do advanced  development. So is it necessary to open a scalable  and standard knowledge vault so that everyone can keep extended it and make it more perfect just like linux kernel or  wiki pedia? What kind of knowledge should be contained in the standard knowledge vault so that it can be universal?  I imagine that the standard knowledge vault is an originator, and all of the other application copy the originator, then all of the other application can communicate under the same common sense, for example when a application decelerate ''night", all of the other application will know it's dark.
>>>>>
>>>>> As I know, the knowlege graph is implement as a query service, but is it possible to implement it  as a program language,just like c++,java? In this way ,the compute can directly know nature language, and human can communicate with compute with nature language, also a compute can communicate with another compute with nature language.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Regards
>>>
>>> Chris
>>> ++++
>>>
>>> Chief Executive, Lacibus <https://lacibus.net/> Ltd
>>> chris@lacibus.net <mailto:chris@lacibus.net>
>>>
>>
>> --
>> Regards
>>
>> Chris
>> ++++
>>
>> Chief Executive, Lacibus <https://lacibus.net/> Ltd
>> chris@lacibus.net <mailto:chris@lacibus.net>
>>
>
> --
> Regards
>
> Chris
> ++++
>
> Chief Executive, Lacibus <https://lacibus.net/> Ltd
> chris@lacibus.net <mailto:chris@lacibus.net>
>

```
Received on Saturday, 15 June 2019 17:54:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:51:31 UTC