Semantic Layer (JSON-LD)

This document describes how to attach an optional JSON-LD semantic layer to an APP profile for interoperability with linked data ecosystems (Schema.org, ESCO, O*NET).

Purpose

Placement

APP reserves the top-level field semantic for the JSON-LD object:

{
  "semantic": {
    "@context": "https://schema.org",
    "@type": "Person",
    "name": "Example Person"
  }
}

Recommended Schema.org Types

Example (Person + Skills)

{
  "semantic": {
    "@context": "https://schema.org",
    "@type": "Person",
    "name": "Caglar Orhan",
    "knowsAbout": [
      { "@type": "DefinedTerm", "name": "TypeScript", "inDefinedTermSet": "ESCO" },
      { "@type": "DefinedTerm", "name": "Next.js" }
    ],
    "hasCredential": [
      { "@type": "EducationalOccupationalCredential", "name": "AWS SAA" }
    ]
  }
}

Mapping Guidance

Validation

Export

A helper exporter is provided at src/exporters/jsonld.js to generate a minimal JSON-LD overlay from APP basics, skills, and credentials.