Schema.org Standard
Schema.org provides a robust, extensible vocabulary for describing digital assets and experiences. As an open-source collaborative project, Schema.org continuously evolves to meet emerging needs across industries and use cases. Its flexible structure allows for rich descriptions of any type of digital content, while its standardized format ensures consistent interpretation across platforms. The vocabulary's regular updates and community-driven development make it an ideal foundation for future-proof metadata implementations, particularly in rapidly evolving spaces like the Metaverse.
For detailed information, you can refer to the official Schema.org website: Schema.org
Fundamental Concepts
Context (@context)
The @context
field defines the vocabulary and rules for interpreting metadata. It can be specified in two ways:
1. String Format
The simplest form, using Schema.org as the sole vocabulary:
"@context": "https://schema.org/",
2. Object Format
A more detailed form that allows multiple namespaces:
"@context": {
"@vocab": "https://schema.org/",
"gltf": "https://www.khronos.org/gltf/"
},
The object format is particularly useful when combining Schema.org with other standards or adding custom vocabularies.
Type Declaration (@type)
The @type
field defines what the asset is within the Schema.org vocabulary. Every metadata object must have a valid Schema.org type.
Key Points About Types
- Must be a valid type defined in Schema.org
- Determines which properties are valid for the object
- Some types have restrictions on their property usage
- Different types support different relationship patterns
Common Types for Metaverse Assets
-
CreativeWork
- Most versatile base type
- Supports rich relationships and descriptions
- Ideal for complex digital assets
-
MediaObject and Subtypes
- 3DModel: Three-dimensional representations
- AudioObject: Sound files and audio content
- DataDownload: Downloadable data files
- ImageObject: Image files and visual content
- MusicVideoObject: Musical video content
- TextObject: Text-based content
- VideoObject: Video content and animations
-
VirtualLocation
- Specific to virtual environments
- Describes locations in digital spaces
- Suitable for metaverse environments
-
SoftwareApplication
- Applications and tools
- Interactive experiences
- Digital utilities
-
DigitalDocument
- Documentation
- Digital files
- Text-based resources
-
LearningResource
- Course: Educational courses
- Quiz: Assessment materials
- Syllabus: Learning plans
Core Types for Metaverse Assets
3DModel
Use for individual 3D objects and models.
{
"@context": "https://schema.org/",
"@type": "3DModel",
"name": "Detailed Chair",
"description": "Ergonomic office chair with adjustable features",
"creator": {
"@type": "Organization",
"name": "Virtual Furnishings Inc."
},
"contentUrl": "https://example.com/models/chair.glb",
"encodingFormat": "model/gltf-binary",
"dateCreated": "2024-03-15",
"thumbnail": "https://example.com/thumbnails/chair.jpg",
"license": "https://creativecommons.org/licenses/by/4.0/"
}
Place
Use for virtual environments and spaces.
{
"@context": "https://schema.org/",
"@type": "Place",
"name": "Conference Hall",
"description": "Large virtual conference space with stage and seating",
"maximumAttendeeCapacity": 500,
"publicAccess": true,
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Stage",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "SeatingCapacity",
"value": 400
}
],
"contentUrl": "https://example.com/spaces/conference-hall.usd"
}
CreativeWork Subtypes
Use for various asset types and content.
{
"@context": "https://schema.org/",
"@type": "DigitalDocument",
"name": "Virtual Space Guidelines",
"description": "Usage guidelines and rules for the conference space",
"encodingFormat": "application/pdf",
"contentUrl": "https://example.com/docs/guidelines.pdf",
"associatedMedia": {
"@type": "3DModel",
"name": "Space Layout",
"contentUrl": "https://example.com/models/layout.glb"
}
}
Essential Properties
Basic Information
name
: Asset titledescription
: Detailed descriptionidentifier
: Unique identifierurl
: Web referencecontentUrl
: Direct asset accessthumbnail
: Preview image
Creation and Authorship
creator
: Asset creatordateCreated
: Creation datedateModified
: Last modificationcontributor
: Additional contributorspublisher
: Publishing entity
Rights and Licensing
license
: Usage licensecopyrightHolder
: Rights ownercopyrightYear
: Copyright yearpermissionType
: Usage permissions
Technical Details
encodingFormat
: File formatfileFormat
: Alternative format specificationcontentSize
: File sizewidth
,height
,depth
: Dimensions
Advanced Properties
Relationships
{
"@context": "https://schema.org/",
"@type": "3DModel",
"name": "Office Chair",
"isPartOf": {
"@type": "CreativeWork",
"name": "Office Furniture Collection"
},
"hasPart": [
{
"@type": "3DModel",
"name": "Chair Base"
},
{
"@type": "3DModel",
"name": "Chair Back"
}
],
"exampleOfWork": {
"@type": "CreativeWork",
"name": "Standard Office Equipment"
}
}
Accessibility
{
"@context": "https://schema.org/",
"@type": "3DModel",
"name": "Accessible Conference Room",
"accessibilityFeature": [
"highContrastDisplay",
"audioDescription",
"alternativeText"
],
"accessibilityHazard": "noFlashingHazard",
"accessMode": ["visual", "textual", "auditory"]
}
Interactions
{
"@context": "https://schema.org/",
"@type": "Place",
"name": "Interactive Kiosk",
"potentialAction": {
"@type": "ViewAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/kiosk/{id}/view"
}
},
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": "https://schema.org/ViewAction",
"userInteractionCount": 5000
}
}
Best Practices
1. Use Specific Types
- Choose the most specific applicable type
- Use multiple types when appropriate
- Consider future extensibility
2. Property Selection
- Include all essential properties
- Add relevant optional properties
- Maintain consistency across assets
3. Structured Data
- Use nested objects for complex data
- Include proper context
- Follow JSON-LD formatting
4. Content Quality
- Write clear descriptions
- Use precise measurements
- Include relevant links
Common Patterns
Asset Collections
{
"@context": "https://schema.org/",
"@type": "CreativeWork",
"name": "Office Environment Pack",
"hasPart": [
{
"@type": "3DModel",
"name": "Office Desk",
"contentUrl": "https://example.com/models/desk.glb"
},
{
"@type": "3DModel",
"name": "Office Chair",
"contentUrl": "https://example.com/models/chair.glb"
}
],
"creator": {
"@type": "Organization",
"name": "Virtual Furnishings Inc."
}
}
Asset Variations
{
"@context": "https://schema.org/",
"@type": "3DModel",
"name": "Customizable Chair",
"workExample": [
{
"@type": "3DModel",
"name": "Blue Variant",
"contentUrl": "https://example.com/models/chair-blue.glb"
},
{
"@type": "3DModel",
"name": "Red Variant",
"contentUrl": "https://example.com/models/chair-red.glb"
}
]
}
Next Steps
- Review JSON-LD Integration for linking data
- See Combining Standards for integration with other standards
- Check Best Practices for implementation guidance