Inferensys

Glossary

@id

A JSON-LD keyword that assigns a globally unique Internationalized Resource Identifier (IRI) to an entity, enabling unambiguous node identification and linking across a knowledge graph.
Knowledge manager reviewing enterprise knowledge management system on laptop, document library visible, casual office.
UNIQUE NODE IDENTIFIER

What is @id?

The @id keyword is a fundamental JSON-LD mechanism that assigns a globally unique Internationalized Resource Identifier (IRI) to an entity, enabling unambiguous node identification and relationship linking within a structured data graph.

In JSON-LD serialization, the @id keyword assigns a unique Internationalized Resource Identifier (IRI) to a specific node, distinguishing it from all other entities in a knowledge graph. This identifier acts as a primary key, allowing other nodes to reference it via @type relationships or properties without ambiguity, preventing entity duplication during parsing.

When implementing Schema.org markup, using a consistent @id value across multiple pages enables search engines to merge disparate data points about the same Thing into a unified entity. This is critical for entity linking and establishing a coherent Graph topology, ensuring AI-driven search engines correctly disambiguate and consolidate information about an Organization or Product.

JSON-LD NODE IDENTIFIER

Key Characteristics of @id

The @id keyword is the fundamental mechanism for assigning a globally unique Internationalized Resource Identifier (IRI) to an entity within a JSON-LD structured data block, enabling unambiguous node identification and graph linking.

01

Unambiguous Node Identification

The @id keyword assigns a unique IRI to a specific node within a JSON-LD document. This prevents entity disambiguation errors by ensuring that every subject—whether a Person, Organization, or Product—is treated as a distinct, identifiable object. Without an @id, nodes are considered blank nodes, which are anonymous and cannot be directly referenced or linked externally.

IRI
Identifier Format
02

Graph Linking Mechanism

@id serves as the connective tissue of a knowledge graph. By referencing a previously defined @id as the value of another property, you create a directed, labeled edge between two nodes. This allows parsers to traverse relationships—such as a creator or subjectOf link—without duplicating entity data, maintaining a clean, normalized graph structure.

03

External Authority Alignment

Using a dereferenceable HTTP IRI as the @id value aligns your local entity with external authoritative sources. Common targets include:

  • Wikidata entries (e.g., https://www.wikidata.org/wiki/Q42)
  • Wikipedia canonical URLs
  • DBpedia resources This practice strengthens entity reconciliation and reinforces the SameAs property for search engines.
04

Top-Level Graph Organization

When using the @graph keyword to define multiple top-level entities in a single JSON-LD block, each node must have an @id to be referenced by other nodes within that graph. This allows for self-contained, complex data structures where relationships between entities—such as an Organization and its WebSite—are explicitly mapped without relying on the HTML DOM structure.

05

Fragment Identifier Usage

For entities that do not have a real-world canonical URL, a local fragment identifier is the standard convention. This is typically a relative IRI using a hash (#) prefix, such as #author-1 or #main-entity. This creates a local, document-scoped identifier that can be referenced within the same JSON-LD block to establish internal relationships without requiring an external HTTP endpoint.

ENTITY IDENTIFICATION

Frequently Asked Questions

Clear answers to the most common technical questions about the @id keyword in JSON-LD structured data and its role in knowledge graph entity disambiguation.

@id is a JSON-LD keyword that assigns a globally unique Internationalized Resource Identifier (IRI) to an entity, enabling unambiguous node identification and linking across a knowledge graph. It functions as the primary key for a specific entity within a structured data document, ensuring that every Thing—whether a Person, Organization, or Product—has a distinct, machine-readable address. When a parser encounters an @id, it treats all subsequent properties as belonging to that specific node, preventing entity merging or confusion. For example, "@id": "https://example.com/entity#john-smith" definitively separates one person from another with a similar name. This mechanism is foundational for entity reconciliation, where multiple mentions of the same real-world object across different pages are consolidated into a single, authoritative knowledge graph entry by search engines like Google.

ENTITY LINKING

Practical Use Cases for @id

The @id keyword is the backbone of unambiguous entity identification in JSON-LD. By assigning a globally unique IRI to every node, you transform a flat list of data points into a traversable, machine-readable knowledge graph.

01

Unambiguous Node Identification

The primary function of @id is to assign a unique Internationalized Resource Identifier (IRI) to a node. This prevents entity disambiguation errors where an AI might confuse two distinct entities with the same name.

  • Mechanism: A node representing a specific person, like 'John Smith', is assigned a URI such as https://example.com/people#john-smith.
  • Result: All subsequent references to that URI are understood to be about that exact entity, not a different 'John Smith'.
02

Graph-Based Entity Linking

@id enables the creation of a directed graph by allowing one node to reference another. This is the core of building a semantic web of relationships.

  • Example: A Product node can link to its manufacturer by referencing the manufacturer's @id, rather than duplicating the manufacturer's data.
  • Benefit: This creates a single source of truth. If the manufacturer's phone number changes, you update it in one place, and all products linking to that @id are implicitly updated.
03

Connecting to External Knowledge Bases

Use @id to explicitly link your local entities to their canonical counterparts in public knowledge graphs like Wikidata or DBpedia.

  • Implementation: Set the @id of your Organization node to its Wikidata IRI (e.g., https://www.wikidata.org/wiki/Q95 for Google).
  • SEO Impact: This provides a powerful entity reconciliation signal, helping AI-driven search engines merge your data with their existing world knowledge, solidifying your entity's identity and authority.
04

Structuring the @graph Array

The @id keyword is essential when using the top-level @graph array to define multiple top-level entities in a single JSON-LD block.

  • Function: Each object within the @graph array must have a unique @id to serve as its node identifier.
  • Interconnection: You can then use these local @ids to define relationships between the entities within the same script block, creating a self-contained, coherent knowledge graph fragment on a single page.
05

Preventing Data Redundancy

By using @id to reference a node, you avoid embedding the same complex object multiple times. This keeps your structured data payload lean and maintainable.

  • Scenario: An Article has an author and a publisher. Both are the same Organization.
  • Solution: Define the Organization node once with an @id. Both the author and publisher properties can then simply reference that single @id string, eliminating redundant data and reducing the risk of inconsistencies.
06

Enabling Rich Result Nesting

Search engines like Google use @id connections to understand the depth of relationships for rich result eligibility.

  • Example: A Recipe with an @id can be linked to a HowTo guide. A Review can be linked to a Product via its @id.
  • Outcome: This explicit nesting helps search engines parse complex, multi-faceted content and generate more informative rich results, such as a product carousel with aggregate ratings directly in the SERP.
ENTITY DISAMBIGUATION COMPARISON

@id vs. Other Node Identification Methods

A technical comparison of mechanisms used to uniquely identify and reference nodes within a JSON-LD knowledge graph or linked data structure.

Feature@id (IRI)@type (Class)SameAs (Equivalence)

Primary Function

Assigns a globally unique identifier to a specific node instance

Defines the class or category a node belongs to

Links a node to its external canonical URI on another authority

Uniqueness Guarantee

Enables Internal Graph Linking

Resolves Entity Disambiguation

Required by Schema.org

Syntax Format

Compact URI or absolute IRI (e.g., '#author-1')

Text string matching Schema vocabulary (e.g., 'Person')

Risk of Identifier Collision

Low (if using absolute IRIs)

Not applicable

None (relies on external authority)

Typical Use Case

Connecting a Person node to the author property of an Article node

Telling a parser that a node represents an Organization vs. a Person

Asserting that a local Organization entity is the same as the Wikidata entry for that company

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.