Quickstart: Brando in JSON-LD
This page gives you copy-paste JSON-LD examples for the Brando Schema Vocabulary v1.3.
Use this if you:
- want to publish Brando as JSON-LD on your website or API,
- are wiring Brando into a knowledge graph or LLM/agent runtime,
- prefer to see concrete examples rather than read the ontology.
If you haven’t yet, read Getting started for the mental model and workflows first.
1. JSON-LD context
For instance data, you typically need:
schema– core schema.org terms (schema:Brand,schema:SoftwareApplication, etc.),brando– the Brando vocabulary namespace.
You can inline a minimal context:
{
"@context": {
"schema": "https://schema.org/",
"brando": "https://brandoschema.com/"
}
}
Or, if you already have a broader JSON-LD context for your site or graph, just add the brando prefix.
2. Minimal single-brand example
This is the smallest useful Brando graph in JSON-LD:
- one
brando:Brand, - one
brando:Context, - one
Brando:VerbalIdentity, - one
brando:Policy.
You can embed this in a <script type="application/ld+json"> tag on a page, or return it via an API.
{
"@context": {
"schema": "https://schema.org/",
"brando": "https://brandoschema.com/"
},
"@graph": [
{
"@id": "https://example.com/brand/northstar",
"@type": "brando:Brand",
"schema:name": "Northstar Bank",
"brando:missionStatement": "Financial clarity with absolute trust.",
"brando:visionStatement": "Help people feel in control of their financial future.",
"brando:coreValues": [
"Clarity over complexity",
"Do the right thing",
"Long-term alignment with customers"
],
"brando:marketPosition": "Digital-first bank for risk-aware customers.",
"brando:tagline": "Clarity, not shortcuts.",
"brando:hasContext": {
"@id": "https://example.com/brand/northstar/context/retail-chatbot"
},
"brando:usesVerbal": {
"@id": "https://example.com/brand/northstar/tokens/verbal/default"
},
"brando:hasPolicy": {
"@id": "https://example.com/brand/northstar/policies/regulated-claims"
}
},
{
"@id": "https://example.com/brand/northstar/context/retail-chatbot",
"@type": "brando:Context",
"brando:audienceSegment": "Retail banking customers",
"brando:audiencePersona": "Everyday saver",
"brando:domainContext": "{\"channel\":\"chatbot\",\"surface\":\"public-website\",\"region\":\"UK\"}"
},
{
"@id": "https://example.com/brand/northstar/tokens/verbal/default",
"@type": "Brando:VerbalIdentity",
"brando:toneOfVoice": "Calm, empathetic, precise. Explain options in simple language without being patronising.",
"brando:approvedTerms": [
"interest rate",
"fees",
"savings goals"
],
"brando:prohibitedTerms": [
"get rich quick",
"guaranteed returns"
],
"brando:keyMessages": [
"We help you understand the trade-offs, not hide them.",
"We prioritise long-term financial health over short-term hype."
]
},
{
"@id": "https://example.com/brand/northstar/policies/regulated-claims",
"@type": "brando:Policy",
"brando:enforcementLevel": "mandatory",
"brando:riskTag": [
"financial-regulation",
"consumer-protection"
],
"brando:mustNotDos": [
"Do not recommend specific products as 'best' without disclaimers.",
"Do not provide personalised investment advice."
],
"brando:refusalStrategies": [
"Explain that you cannot give personalised investment advice.",
"Offer to connect the user to a human advisor."
],
"brando:reviewWorkflow": "Compliance team reviews changes to this policy and any flagged AI outputs weekly.",
"brando:retrievableInLLM": true
}
]
}
How a runtime uses this
An LLM app or Brand OS would:
- Load the graph and pick the
brando:Brandnode that matches the tenant or domain. -
Follow:
brando:hasContext→brando:Contextfor the current channel,brando:usesVerbal→Brando:VerbalIdentity,brando:hasPolicy→brando:Policy.
-
Build prompts and guardrails using properties like:
brando:toneOfVoice,brando:approvedTerms,brando:prohibitedTerms,brando:mustDos,brando:mustNotDos,brando:refusalStrategies,brando:enforcementLevel.
3. Adding classification and integrations
This example adds:
- a
brando:BrandedCategorywith GS1 / UNSPSC / Google Product Taxonomy alignment, and - an integration to an external tool via
brando:externalSystem+brando:externalSystemId, - asset links via
brando:downloadableFile/brando:supportingFile.
{
"@context": {
"schema": "https://schema.org/",
"brando": "https://brandoschema.com/"
},
"@graph": [
{
"@id": "https://example.com/brand/northstar",
"@type": "brando:Brand",
"schema:name": "Northstar Bank",
"brando:missionStatement": "Financial clarity with absolute trust.",
"brando:coreValues": [
"Clarity over complexity",
"Do the right thing",
"Long-term alignment with customers"
],
"brando:hasProductCategory": {
"@id": "https://example.com/brand/northstar/categories/savings-accounts"
},
"brando:externalSystem": {
"@id": "https://example.com/integrations/adobe-genstudio"
},
"brando:externalSystemId": "northstar_brand_master"
},
{
"@id": "https://example.com/brand/northstar/categories/savings-accounts",
"@type": "brando:BrandedCategory",
"brando:productCategoryName": "Savings accounts",
"brando:gpcCategoryCode": "43191500",
"brando:gpcCategoryDescription": "Savings and investment accounts (example code for illustration only).",
"brando:unspscCode": "84131500",
"brando:googleProductCategoryId": "Finance > Banking Services",
"brando:downloadableFile": {
"@id": "https://assets.example.com/northstar/brand/savings-accounts-guidelines.pdf",
"@type": "schema:MediaObject",
"schema:name": "Savings Accounts Brand Guidelines (PDF)"
}
},
{
"@id": "https://example.com/integrations/adobe-genstudio",
"@type": "schema:SoftwareApplication",
"schema:name": "Adobe GenStudio",
"schema:applicationCategory": "Brand and content operations",
"schema:url": "https://business.adobe.com/products/genstudio.html"
}
]
}
What this enables
- Recommendation / search systems can use the taxonomy IDs (
gpcCategoryCode,unspscCode,googleProductCategoryId) to line up brand semantics with commerce and ads systems. -
A Brand OS can use
brando:externalSystem/brando:externalSystemIdto:- map brand nodes to specific integration objects (e.g. folders, workspaces, ad accounts),
- or drive sync jobs between the Brand Knowledge Graph and external tools.
brando:downloadableFile(andbrando:supportingFileif you use it) gives AIs and tools a stable pointer to current, production-ready assets.
4. Embedding JSON-LD on the web
To expose Brando to crawlers, AI systems, and your own tools via the public web, embed the JSON-LD in your HTML.
Minimal pattern:
<script type="application/ld+json">
{
"@context": {
"schema": "https://schema.org/",
"brando": "https://brandoschema.com/"
},
"@graph": [
{
"@id": "https://example.com/brand/northstar",
"@type": "brando:Brand",
"schema:name": "Northstar Bank",
"brando:missionStatement": "Financial clarity with absolute trust."
/* ...additional Brando properties... */
}
]
}
</script>
- You can embed one consolidated graph at the site root (e.g.
/brandoschema.jsonldand<link rel="alternate" ...>), or smaller graphs per brand / sub-site. - Internally, the same JSON-LD can be served over an API or stored in a graph database – the syntax does not change.
5. JSON-LD vs YAML – staying in sync
If you also use the YAML profile:
- treat YAML as the authoring / config layer,
- generate JSON-LD as the canonical publication and runtime layer.
A common pattern:
- Keep
brand.yaml,contexts.yaml,tokens.yaml,policies.yamlin a repo (validated against the Brando YAML profile). -
Use a build step to emit:
brandoschema.jsonldfrom those YAML files.- Embed or serve the emitted JSON-LD from your site or Brand OS.
See:
6. Where to go next
- For a more narrative introduction: Getting started
- For the full vocabulary definitions: Types reference and Properties reference
- For runtime patterns with LLMs, agents, and tools: Runtime Integration (LLMs, MCP, APIs)
Once you have a minimal JSON-LD graph working, you can incrementally add:
- more
brando:Contextnodes for key channels, Brando:VisualIdentityandBrando:AudioIdentityfor multimodal expression,- additional
brando:Policyandbrando:AutomationRulenodes for deeper governance.