Skip to content

Conversation

@lnispel
Copy link
Collaborator

@lnispel lnispel commented Aug 25, 2025

Add Web-specific schema.org-based credential schemas with comprehensive CreativeWork expansion

Overview

This PR introduces a comprehensive set of new credential schemas based on schema.org vocabulary.

Changes Made

New Schema Additions

CreativeWork Schema

  • Purpose: Represents creative works and content using comprehensive schema.org vocabulary
  • Major Expansion: Added 80+ new properties from Schema.org CreativeWork type
  • New Property Categories:
    • Accessibility Properties: accessMode, accessModeSufficient, accessibilityAPI, accessibilityControl, accessibilityFeature, accessibilityHazard, accessibilitySummary
    • Educational Properties: educationalLevel, educationalUse, learningResourceType, teaches, assesses
    • Content Properties: headline, alternativeHeadline, text, timeRequired, version, creativeWorkStatus
    • Location & Coverage: contentLocation, locationCreated, spatial, spatialCoverage, countryOfOrigin, temporal, temporalCoverage
    • Reviews & Ratings: review, aggregateRating, contentRating, commentCount
    • Authorship & Contributors: contributor, editor, producer, publisher, accountablePerson
    • Family & Safety: isFamilyFriendly, typicalAgeRange
    • Additional Properties: about, mainEntity, mainEntityOfPage, expires, copyrightNotice, pattern, position, creditText, usageInfo

WebSite Schema

  • Purpose: Represents websites, extending CreativeWork with website-specific properties
  • Key Properties: hasPart (web pages), mainEntity, about, audience, breadcrumb, lastReviewed, reviewedBy, significantLink, specialty

WebPage Schema

  • Purpose: Represents web pages, extending CreativeWork with webpage-specific properties
  • Key Properties: isPartOf (website), primaryImageOfPage, relatedLink, speakable, wordCount, characterCount, pageStart, pageEnd, pagination, isFamilyFriendly, dateLastReviewed, mainContentOfPage, significantLinks

Blog Schema

  • Purpose: Represents blogs, extending CreativeWork with blog-specific properties
  • Key Properties: blogPost/blogPosts, issn, issueNumber, volumeNumber, publisher, editor, audience, wordCount, characterCount, numberOfItems, isFamilyFriendly, dateLastReviewed, mainContentOfPage, significantLinks

BlogPosting Schema

  • Purpose: Represents individual blog posts, extending CreativeWork with blog-post-specific properties
  • Key Properties: headline, articleBody, articleSection, pageStart, pageEnd, pagination, wordCount, characterCount, isPartOf, mainEntityOfPage, sharedContent, commentCount

MediaObject Schema

  • Purpose: Represents media objects (images, videos, audio, text), extending CreativeWork with media-specific properties
  • Key Properties: contentUrl, embedUrl, encodingFormat, contentSize, bitrate, duration, uploadDate, startTime, endTime, height, width, caption, playerType, requiresSubscription, regionsAllowed, productionCompany, musicBy, ineligibleRegion, eligibleRegion, copyrightHolder, copyrightYear, copyrightNotice, contentRating, comment, commentCount, review, aggregateRating, publisher, editor, contributor, accountablePerson, producer, provider, funder, sponsor, expires, version, text, thumbnail, timeRequired, typicalAgeRange, usageInfo, accessMode, accessModeSufficient, accessibilityAPI, accessibilityControl, accessibilityFeature, accessibilityHazard, accessibilitySummary, isFamilyFriendly, alternateName, identifier, sameAs, potentialAction, subjectOf

Text Schema

  • Purpose: Represents textual content, extending CreativeWork with text-specific properties
  • Key Properties: text (actual content), textFormat, encodingFormat, fileFormat, contentSize, wordCount, characterCount, pageCount, accessibility fields (accessMode, accessibilityAPI, accessibilityControl, accessibilityFeature, accessibilityHazard, accessibilitySummary)

Service Schema

  • Purpose: Represents services provided by organizations using schema.org vocabulary
  • Key Properties: provider, areaServed, audience, availableChannel, award, brand, broker, category, hasCertification, hasOfferCatalog, hoursAvailable, review, aggregateRating, serviceOutput, serviceType, slogan, termsOfService

Schema Structure

Each schema follows a consistent pattern:

  • JSON Schema (schema.json): Defines the structure and validation rules
  • JSON-LD Context (context.json): Maps schema.org terms to URIs for semantic interoperability
  • Documentation (README.md): Provides overview, structure, and usage examples

Key Features

Comprehensive Schema.org Integration

  • All schemas use schema.org vocabulary for maximum interoperability
  • CreativeWork schema includes 80+ properties from Schema.org CreativeWork type
  • Proper JSON-LD context definitions for semantic linking
  • Support for both URI references and embedded objects

Hierarchical Design

  • WebSite, WebPage, Blog, BlogPosting, MediaObject, and Text extend CreativeWork
  • Maintains schema.org inheritance relationships
  • Allows for specialized properties while retaining common ones

Enhanced Accessibility Support

  • CreativeWork schema includes comprehensive accessibility properties
  • Text schema includes detailed accessibility features
  • Support for various access modes and features
  • Compliance with WCAG guidelines

Flexible Property Support

  • Support for both string URIs and embedded objects
  • Array properties for multiple values (e.g., availableChannel, review, accessibilityFeature)
  • Nested structures for complex relationships (e.g., hasCertification, aggregateRating, interactionStatistic)

Educational and Content Management

  • Educational properties for learning resources
  • Content lifecycle management (status, versioning, expiration)
  • Comprehensive metadata for content discovery and organization

Benefits

Interoperability

  • All schemas follow schema.org standards
  • Compatible with existing schema.org implementations
  • JSON-LD contexts enable semantic linking
  • Enhanced CreativeWork schema provides foundation for diverse content types

Extensibility

  • Hierarchical design allows for future extensions
  • Modular structure supports independent evolution
  • Schema.org foundation enables broad adoption
  • Comprehensive CreativeWork schema serves as robust base for content credentials

Accessibility and Inclusion

  • Built-in accessibility properties support inclusive design
  • WCAG compliance features
  • Support for various access modes and assistive technologies

Impact

This PR provides a solid foundation for schema.org-based verifiable credentials, enabling:

  • Web Content Credentials: Websites, web pages, blogs, blog posts, and media objects
  • Creative Work Credentials: Comprehensive representation of various types of creative content with accessibility, educational, and metadata support
  • Media Credentials: Images, videos, audio, and text objects with rich metadata
  • Accessibility-First Design: Built-in support for accessibility features and compliance

The reorganization improves maintainability, sets a clear pattern for future schema additions, and provides a comprehensive CreativeWork schema that can serve as the foundation for most content-related verifiable credentials.

@lnispel lnispel marked this pull request as ready for review September 23, 2025 16:43
@lnispel lnispel force-pushed the schema-org-credentials branch from 30cbc19 to 516035d Compare September 23, 2025 16:44
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.

3 participants