|
| 1 | +# SchemaOrg Verifiable Credentials |
| 2 | + |
| 3 | +This folder contains verifiable credential schemas based on [Schema.org](https://schema.org/) vocabulary, providing standardized representations for various types of digital content and creative works. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +The SchemaOrg schemas extend the W3C Verifiable Credentials standard with Schema.org vocabulary, enabling rich, semantic representation of digital content while maintaining interoperability with existing Schema.org implementations. These schemas are designed for use in decentralized identity systems and digital content management. |
| 8 | + |
| 9 | +## Available Schemas |
| 10 | + |
| 11 | +### Core Content Schemas |
| 12 | + |
| 13 | +#### [Article Schema](./draftSchemas/article/) |
| 14 | +Represents various types of articles including news articles, scholarly articles, technical articles, reports, and other written content. |
| 15 | + |
| 16 | +- **Schema**: `schema:Article` |
| 17 | +- **Extends**: CreativeWork |
| 18 | +- **Key Features**: Article-specific properties, accessibility metadata, interaction statistics |
| 19 | +- **Use Cases**: News articles, academic papers, technical documentation, reports |
| 20 | + |
| 21 | +#### [Blog Schema](./draftSchemas/blog/) |
| 22 | +Represents blog information including metadata, content structure, publishing details, and performance statistics. |
| 23 | + |
| 24 | +- **Schema**: `schema:Blog` |
| 25 | +- **Extends**: CreativeWork |
| 26 | +- **Key Features**: Blog-specific properties, audience targeting, content aggregation |
| 27 | +- **Use Cases**: Blog platforms, content management systems, publishing workflows |
| 28 | + |
| 29 | +#### [BlogPosting Schema](./draftSchemas/blog-posting/) |
| 30 | +Represents individual blog posts with article-specific properties and blog context. |
| 31 | + |
| 32 | +- **Schema**: `schema:BlogPosting` |
| 33 | +- **Extends**: Article |
| 34 | +- **Key Features**: Blog post metadata, content relationships, interaction tracking |
| 35 | +- **Use Cases**: Blog posts, social media content, online articles |
| 36 | + |
| 37 | +#### [CreativeWork Schema](./draftSchemas/creative-work/) |
| 38 | +Base schema for representing creative works including articles, books, videos, music, software, and other intellectual works. |
| 39 | + |
| 40 | +- **Schema**: `schema:CreativeWork` |
| 41 | +- **Base Schema**: Foundation for all creative content |
| 42 | +- **Key Features**: Comprehensive metadata, authorship, licensing, accessibility |
| 43 | +- **Use Cases**: All types of creative content, digital assets, intellectual property |
| 44 | + |
| 45 | +### Digital Document Schemas |
| 46 | + |
| 47 | +#### [DigitalDocument Schema](./draftSchemas/digital-document/) |
| 48 | +Represents digital documents with comprehensive permission controls and access management. |
| 49 | + |
| 50 | +- **Schema**: `schema:DigitalDocument` |
| 51 | +- **Extends**: CreativeWork |
| 52 | +- **Key Features**: Permission controls, audit trails, access management, document security |
| 53 | +- **Use Cases**: Secure document sharing, digital rights management, confidential content |
| 54 | + |
| 55 | +### Media Schemas |
| 56 | + |
| 57 | +#### [MediaObject Schema](./draftSchemas/media-object/) |
| 58 | +Represents media objects such as images, videos, audio files, and text objects with rich metadata. |
| 59 | + |
| 60 | +- **Schema**: `schema:MediaObject` |
| 61 | +- **Extends**: CreativeWork |
| 62 | +- **Key Features**: Media-specific properties, encoding information, access controls |
| 63 | +- **Use Cases**: Media libraries, content delivery, digital asset management |
| 64 | + |
| 65 | +#### [Text Schema](./draftSchemas/text/) |
| 66 | +Represents text-based content with semantic markup and structural information. |
| 67 | + |
| 68 | +- **Schema**: `schema:Text` |
| 69 | +- **Extends**: CreativeWork |
| 70 | +- **Key Features**: Text-specific properties, semantic markup, content structure |
| 71 | +- **Use Cases**: Text content, documents, structured text data |
| 72 | + |
| 73 | +### Web Content Schemas |
| 74 | + |
| 75 | +#### [WebPage Schema](./draftSchemas/web-page/) |
| 76 | +Represents individual web pages with navigation, content, and metadata. |
| 77 | + |
| 78 | +- **Schema**: `schema:WebPage` |
| 79 | +- **Extends**: CreativeWork |
| 80 | +- **Key Features**: Page-specific properties, navigation, content relationships |
| 81 | +- **Use Cases**: Web pages, online content, digital publications |
| 82 | + |
| 83 | +#### [WebSite Schema](./draftSchemas/web-site/) |
| 84 | +Represents websites with site-wide metadata, structure, and organizational information. |
| 85 | + |
| 86 | +- **Schema**: `schema:WebSite` |
| 87 | +- **Extends**: CreativeWork |
| 88 | +- **Key Features**: Site-wide properties, navigation structure, organizational metadata |
| 89 | +- **Use Cases**: Websites, web applications, online platforms |
| 90 | + |
| 91 | +## Schema Structure |
| 92 | + |
| 93 | +Each schema follows a consistent structure: |
| 94 | + |
| 95 | +``` |
| 96 | +schema-folder/ |
| 97 | +├── schema.json # JSON Schema definition |
| 98 | +├── context.json # JSON-LD context file |
| 99 | +└── README.md # Schema documentation |
| 100 | +``` |
| 101 | + |
| 102 | +### Common Properties |
| 103 | + |
| 104 | +All schemas include these core properties: |
| 105 | + |
| 106 | +- **Required Fields**: `id`, `schema:name` |
| 107 | +- **Basic Metadata**: `schema:description`, `schema:url`, `schema:keywords` |
| 108 | +- **Authorship**: `schema:author`, `schema:creator`, `schema:publisher` |
| 109 | +- **Timeline**: `schema:dateCreated`, `schema:datePublished`, `schema:dateModified` |
| 110 | +- **Rights**: `schema:license`, `schema:copyrightHolder`, `schema:copyrightYear` |
| 111 | +- **Accessibility**: `schema:accessibilityFeature`, `schema:accessibilitySummary` |
| 112 | +- **Interactions**: `schema:interactionStatistic`, `schema:aggregateRating` |
| 113 | + |
| 114 | +## Usage Examples |
| 115 | + |
| 116 | +### Basic Article Credential |
| 117 | + |
| 118 | +```json |
| 119 | +{ |
| 120 | + "@context": [ |
| 121 | + "https://www.w3.org/2018/credentials/v1", |
| 122 | + "https://w3id.org/security/suites/jws-2020/v1", |
| 123 | + { |
| 124 | + "schema": "https://schema.org/" |
| 125 | + } |
| 126 | + ], |
| 127 | + "type": [ |
| 128 | + "VerifiableCredential", |
| 129 | + "schema:Article" |
| 130 | + ], |
| 131 | + "credentialSubject": { |
| 132 | + "id": "https://example.com/articles/verifiable-credentials-guide", |
| 133 | + "schema:name": "A Comprehensive Guide to Verifiable Credentials", |
| 134 | + "schema:description": "An in-depth exploration of verifiable credentials", |
| 135 | + "schema:author": { |
| 136 | + "id": "did:web:author.example.com", |
| 137 | + "schema:name": "Dr. Jane Smith" |
| 138 | + }, |
| 139 | + "schema:datePublished": "2024-01-20T14:00:00Z", |
| 140 | + "schema:license": "https://creativecommons.org/licenses/by/4.0/" |
| 141 | + }, |
| 142 | + "issuer": "did:web:publisher.example.com", |
| 143 | + "issuanceDate": "2024-01-20T14:00:00Z" |
| 144 | +} |
| 145 | +``` |
| 146 | + |
| 147 | +### Digital Document with Permissions |
| 148 | + |
| 149 | +```json |
| 150 | +{ |
| 151 | + "@context": [ |
| 152 | + "https://www.w3.org/2018/credentials/v1", |
| 153 | + "https://w3id.org/security/suites/jws-2020/v1", |
| 154 | + { |
| 155 | + "schema": "https://schema.org/" |
| 156 | + } |
| 157 | + ], |
| 158 | + "type": [ |
| 159 | + "VerifiableCredential", |
| 160 | + "schema:DigitalDocument" |
| 161 | + ], |
| 162 | + "credentialSubject": { |
| 163 | + "id": "https://example.com/documents/confidential-report", |
| 164 | + "schema:name": "Confidential Financial Report 2024", |
| 165 | + "schema:fileFormat": "application/pdf", |
| 166 | + "schema:hasDigitalDocumentPermission": [ |
| 167 | + { |
| 168 | + "id": "https://example.com/permissions/executive-access", |
| 169 | + "schema:permissionType": "read", |
| 170 | + "schema:permissionGrantedTo": { |
| 171 | + "id": "did:web:executive.example.com", |
| 172 | + "schema:name": "Executive Team" |
| 173 | + }, |
| 174 | + "schema:permissionGrantedBy": { |
| 175 | + "id": "did:web:ceo.example.com", |
| 176 | + "schema:name": "CEO" |
| 177 | + } |
| 178 | + } |
| 179 | + ] |
| 180 | + } |
| 181 | +} |
| 182 | +``` |
| 183 | + |
| 184 | +## Benefits |
| 185 | + |
| 186 | +### Interoperability |
| 187 | +- **Schema.org Compatible**: Full alignment with Schema.org vocabulary |
| 188 | +- **W3C Standards**: Based on W3C Verifiable Credentials standard |
| 189 | +- **Semantic Web**: Rich semantic markup for machine-readable content |
| 190 | + |
| 191 | +### Rich Metadata |
| 192 | +- **Comprehensive Properties**: Extensive metadata for all content types |
| 193 | +- **Accessibility Focus**: Built-in accessibility features and metadata |
| 194 | +- **Rights Management**: Copyright, licensing, and permission controls |
| 195 | + |
| 196 | +### Flexibility |
| 197 | +- **Extensible**: Easy to extend for specific use cases |
| 198 | +- **Modular**: Use individual schemas or combine them |
| 199 | +- **Backward Compatible**: Works with existing Schema.org implementations |
| 200 | + |
| 201 | +### Security & Trust |
| 202 | +- **Verifiable**: Cryptographic proof of authenticity |
| 203 | +- **Audit Trails**: Track content usage and modifications |
| 204 | +- **Permission Controls**: Granular access and usage permissions |
| 205 | + |
| 206 | +## Implementation Guidelines |
| 207 | + |
| 208 | +### 1. Choose the Right Schema |
| 209 | +- Use the most specific schema for your content type |
| 210 | +- Extend base schemas for custom requirements |
| 211 | +- Consider content relationships and hierarchies |
| 212 | + |
| 213 | +### 2. Provide Required Fields |
| 214 | +- Always include `id` and `schema:name` |
| 215 | +- Use stable, resolvable URIs for identifiers |
| 216 | +- Ensure names are descriptive and meaningful |
| 217 | + |
| 218 | +### 3. Add Rich Metadata |
| 219 | +- Include descriptive information in `schema:description` |
| 220 | +- Add relevant keywords and tags |
| 221 | +- Specify authors, creators, and publishers |
| 222 | + |
| 223 | +### 4. Handle Permissions |
| 224 | +- Use `schema:hasDigitalDocumentPermission` for access control |
| 225 | +- Specify clear permission types and scopes |
| 226 | +- Include audit trails for sensitive content |
| 227 | + |
| 228 | +### 5. Consider Accessibility |
| 229 | +- Add accessibility features and summaries |
| 230 | +- Include alternative formats where possible |
| 231 | +- Specify access modes and requirements |
| 232 | + |
| 233 | +## Contributing |
| 234 | + |
| 235 | +### Adding New Schemas |
| 236 | +1. Create a new folder in `draftSchemas/` |
| 237 | +2. Include `schema.json`, `context.json`, and `README.md` |
| 238 | +3. Follow the existing schema structure and patterns |
| 239 | +4. Update this README with schema documentation |
| 240 | + |
| 241 | +### Schema Requirements |
| 242 | +- Must extend appropriate base schema |
| 243 | +- Include comprehensive documentation |
| 244 | +- Provide usage examples |
| 245 | +- Follow JSON Schema best practices |
| 246 | + |
| 247 | +### Testing |
| 248 | +- Validate against JSON Schema specification |
| 249 | +- Test with JSON-LD processors |
| 250 | +- Verify Schema.org compatibility |
| 251 | +- Check accessibility compliance |
| 252 | + |
| 253 | +## References |
| 254 | + |
| 255 | +- [Schema.org](https://schema.org/) - Core vocabulary and documentation |
| 256 | +- [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) - Credential standard |
| 257 | +- [JSON Schema](https://json-schema.org/) - Schema validation |
| 258 | +- [JSON-LD](https://json-ld.org/) - Linked data format |
| 259 | + |
| 260 | +## License |
| 261 | + |
| 262 | +This project is licensed under the MIT License. See the [LICENSE.md](../../LICENSE.md) file for details. |
| 263 | + |
| 264 | +## Support |
| 265 | + |
| 266 | +For questions, issues, or contributions: |
| 267 | +- Create an issue in the repository |
| 268 | +- Review existing documentation and examples |
| 269 | +- Check Schema.org documentation for vocabulary details |
| 270 | +- Consult W3C specifications for credential standards |
0 commit comments