Skip to content

Commit 657479b

Browse files
committed
Add Schema.Org Schemas
1 parent c6c4265 commit 657479b

File tree

29 files changed

+9660
-0
lines changed

29 files changed

+9660
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# The following owner is responsible for the SchemaOrg folder
2+
# and is allowed to approve pull requests that change this folder.
3+
4+
* @lnispel
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
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

Comments
 (0)