https://github.com/geraintluff/schema-org-gen
Generate JSON Schemas from the schema.org spec
https://github.com/geraintluff/schema-org-gen
Last synced: about 1 year ago
JSON representation
Generate JSON Schemas from the schema.org spec
- Host: GitHub
- URL: https://github.com/geraintluff/schema-org-gen
- Owner: geraintluff
- License: mit
- Created: 2013-11-20T23:36:18.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2016-08-06T18:03:37.000Z (almost 10 years ago)
- Last Synced: 2025-04-12T21:09:06.749Z (about 1 year ago)
- Language: JavaScript
- Size: 527 KB
- Stars: 53
- Watchers: 5
- Forks: 17
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Generating JSON Schemas from schema.org data
==============
The schemas at http://schema.org/ are very helpful for formats like JSON-LD, but they lack a canonical JSON representation.
This tool generates schemas describing a canonical plain-JSON serialisation for each of the schema.org types.
## Multiplicity of relations
The documentation at schema.org gives no indication which properties/relations can have multiple entries. A `PostalAddress` should (intuitively) only have one `streetAddress`, but many other properties are one-to-many mappings (represented in JSON as arrays instead of direct values).
Most of these were initially guessed based on whether their descriptions started with "A(n)" or "The". This is sometimes inaccurate (e.g. http://schema.org/follows), so hand-edits should be made to `property-multiplicity.json`.
## Standard definitions
### `#/definitions/array`
This definition is added to all generated schemas, to make it easy to represent an array of instances.
### `#/definitions/possibleRef`
This definition is added to all generated schemas, and it represents a type that can either be a reference (URL string) to an external resource or an actual inlined resource.
### `#/definitions/possibleRefArray`
A combination of the above two - an array of possible refs.