In the context of knowledge graphs, a property is a specific attribute of an entity. A property describes one aspect of an entity1 by its value.

A common property is an entity's name. For example, a person's name may be "John Doe.". Another example is a product's name, such as "iPhone 12 mini."

Some properties give an entity its identity. Such properties are called identifiers or identifying properties.

Often schema markup creates a property to give an entity an identity. For example, in JSON-LD the "@id" attribute is used to give an entity an identifier.

Properties can have one or many values. However, in the case of many values, the relation to the subject must be the same. For example, a person may have a legal name and multiple alternate names. For example "John Doe" may also be known as "John, the Magician", "Jonny Doe", or "John, A Doe". These are three "alternateName" values in the[^scheamorg] vocabulary.

    "@type": "Person",
    "name": "John Doe",
    "alternateName": [
        "John, the Magician",
        "Jonny Doe",
        "John A Doe",

The Role of Properties in KGO

Properties play a vital role in Knowledge Graph Optimization (KGO). Properties are fine-grained information you want the search engine to understand.

Identifying Entities

A knowledge graph engine2 will need to identify entities. That means it needs to understand what is the name of a person in the text as well as if the same name on another page belongs to the same person. The engine will do this by extracting properties about the person on each page and calculating how many properties match between the two people. This calculation will result in a similarity score for the two people.

In the calculation of such a similarity score, identifying properties are valued higher. For example, a name match is valued higher than the match of "has lived in a location."

Entities that meet a similarity score threshold

Linking Entities

To link entities together, a knowledge graph engine will consider "@id", "url" and "sameAs" properties with the highest priority. Google uses "@id" not as a global ID but as a local identifier within the page's schema. That means it connects a schema with the same "@type" **and** "@id" and combines its attributes.

The properties "url" and "sameAs" link entities across pages and across websites.

Knowledge corroboration

When a search engine crawls webpages and extracts information, it can not be certain that a single page has the correct information. Therefore the information from multiple pages and multiple crawls of the same page will be assessed for the likelihood that the information is factual.

That means a knowledge graph engine will filter the information based on corroboration between multiple sources. Only when multiple sources agree on a statement it will consider this statement a fact and include it in the knowledge graph.


[^schemaorg] is an organization that standardizes vocabularies to describe entities for exchange and knowledge extraction.

  1. An entity is a "thing" that is well-defined and has an identity. For example, a person, a location, a concept, or an event can be entities in a knowledge graph.

  2. A Knowledge Graph Engine is an algorithm to build a knowledge graph from a large corpus of text.