Skip to content

Add example for Product #4660#4662

Merged
alex-jansen merged 8 commits into
schemaorg:mainfrom
kevinbouti:patch-1
Mar 16, 2026
Merged

Add example for Product #4660#4662
alex-jansen merged 8 commits into
schemaorg:mainfrom
kevinbouti:patch-1

Conversation

@kevinbouti
Copy link
Copy Markdown
Contributor

Digital Product Passport Example

This PR adds an example for implementing Digital Product Passport (DPP)
in Schema.org Product type using existing properties.

Changes

  • Demonstrates usage of identifier for Decentralized Identifiers (DIDs)
  • Shows hasGS1DigitalLink for resolvable QR codes/NFC links
  • Provides examples in MICRODATA, RDFA, and JSON-LD formats

Related to

Closes #4660

Add DPP Product example with DIDs and GS1 Digital Links for issue schemaorg#4660
@kevinbouti
Copy link
Copy Markdown
Contributor Author

Hi @MatthiasWiesmann, here is the example PR as requested. Ready for review!

<div>
<h1>Circular Smartphone</h1>
<p>Product ID (DID): did:web:verisav.fr:product:12345</p>
<p>Scan for Passport: <a href="https://id.verisav.fr/01/01234567890128/21/12345">Digital Link</a></p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Writing "scan" on a web page feels weird, should this not just be a link to the Product Passport?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do

<h1 itemprop="name">Circular Smartphone</h1>
<p>Product ID (DID): <span itemprop="identifier">did:web:verisav.fr:product:12345</span></p>
<p>UUID: <span itemprop="identifier">urn:uuid:123e4567-e89b-12d3-a456-426614174000</span></p>
<p>Scan for Passport: <a itemprop="hasGS1DigitalLink" href="https://id.verisav.fr/01/01234567890128/21/12345">Digital Link</a></p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do

"@context": "https://schema.org",
"@type": "Product",
"name": "Circular Smartphone",
"description": "A repairable and circular product with Digital Product Passport (DPP) integration",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds weird, the fact that the phone has a DPP is a legal requirement, but not really a description of the product.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do

Updated links and descriptions for the Circular Smartphone product examples.
Comment thread data/ext/pending/issue-4660-examples.txt Outdated
Copy link
Copy Markdown
Contributor

@MatthiasWiesmann MatthiasWiesmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpicks, generally good.
Please make sure all the tests pass and that the site looks ok.

Updated product information with enhanced descriptions and identifiers for better clarity and traceability.
Comment thread data/ext/pending/issue-4660-examples.txt Outdated
Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MatthiasWiesmann Fixed a syntax error in data/ext/pending/issue-4660-examples.txt where the JSON-LD block was not properly closed.

Changes:

  • Added missing </script> closing tag after the JSON-LD example.
  • Added clear separator comments between JSON-LD and Turtle/RDF sections to prevent parsing issues.
  • Verified that all formats (Microdata, RDFa, JSON-LD, Turtle) are now syntactically valid.

Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed the JSON-LD context issue by removing the custom namespace reference. All examples now use only Schema.org standard properties. Ready for review.

Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mise à jour

Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correction

Copy link
Copy Markdown
Contributor Author

@kevinbouti kevinbouti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correction

@alex-jansen
Copy link
Copy Markdown
Contributor

nice example! merging in for next release

@alex-jansen alex-jansen merged commit 41a28b5 into schemaorg:main Mar 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DPP] Proposal: Structured Identifiers for DIDs & Resolvable Links

3 participants