Skip to content

Instantly share code, notes, and snippets.

@geraintluff
Created July 8, 2013 19:37
Show Gist options
  • Save geraintluff/5951826 to your computer and use it in GitHub Desktop.
Save geraintluff/5951826 to your computer and use it in GitHub Desktop.
Example schemas generated from schema.org
{
"id": "http://json-schema.org/schemas/GolfCourse.json",
"title": "Golf Course",
"description": "A golf course.",
"allOf": [{"$ref": "SportsActivityLocation.json"}],
"type": "object",
"format": "http://schema.org/GolfCourse",
"properties": {},
"definitions": {}
}
{
"id": "http://json-schema.org/schemas/Movie.json",
"title": "Movie",
"description": "A movie.",
"allOf": [{"$ref": "CreativeWork.json"}],
"type": "object",
"format": "http://schema.org/Movie",
"properties": {
"actor": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"actors": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"director": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"duration": {
"oneOf": [
{"$ref": "Duration.json"},
{
"type": "array",
"items": {"$ref": "Duration.json"}
}
]
},
"musicBy": {
"oneOf": [
{"$ref": "#/definitions/musicBy"},
{
"type": "array",
"items": {"$ref": "#/definitions/musicBy"}
}
]
},
"producer": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"productionCompany": {
"oneOf": [
{"$ref": "Organization.json"},
{
"type": "array",
"items": {"$ref": "Organization.json"}
}
]
},
"trailer": {
"oneOf": [
{"$ref": "VideoObject.json"},
{
"type": "array",
"items": {"$ref": "VideoObject.json"}
}
]
}
},
"definitions": {
"musicBy": {
"title": "Music by",
"description": "The composer of the movie or TV soundtrack.",
"anyOf": [
{"$ref": "Person.json"},
{"$ref": "MusicGroup.json"}
]
}
}
}
{
"id": "http://json-schema.org/schemas/Person.json",
"title": "Person",
"description": "A person (alive, dead, undead, or fictional).",
"allOf": [{"$ref": "Thing.json"}],
"type": "object",
"format": "http://schema.org/Person",
"properties": {
"additionalName": {
"oneOf": [
{"$ref": "#/definitions/additionalName"},
{
"type": "array",
"items": {"$ref": "#/definitions/additionalName"}
}
]
},
"address": {
"oneOf": [
{"$ref": "PostalAddress.json"},
{
"type": "array",
"items": {"$ref": "PostalAddress.json"}
}
]
},
"affiliation": {
"oneOf": [
{"$ref": "Organization.json"},
{
"type": "array",
"items": {"$ref": "Organization.json"}
}
]
},
"alumniOf": {
"oneOf": [
{"$ref": "EducationalOrganization.json"},
{
"type": "array",
"items": {"$ref": "EducationalOrganization.json"}
}
]
},
"award": {
"oneOf": [
{"$ref": "#/definitions/award"},
{
"type": "array",
"items": {"$ref": "#/definitions/award"}
}
]
},
"awards": {
"oneOf": [
{"$ref": "#/definitions/awards"},
{
"type": "array",
"items": {"$ref": "#/definitions/awards"}
}
]
},
"birthDate": {
"oneOf": [
{"$ref": "#/definitions/birthDate"},
{
"type": "array",
"items": {"$ref": "#/definitions/birthDate"}
}
]
},
"brand": {
"oneOf": [
{"$ref": "#/definitions/brand"},
{
"type": "array",
"items": {"$ref": "#/definitions/brand"}
}
]
},
"children": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"colleague": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"colleagues": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"contactPoint": {
"oneOf": [
{"$ref": "ContactPoint.json"},
{
"type": "array",
"items": {"$ref": "ContactPoint.json"}
}
]
},
"contactPoints": {
"oneOf": [
{"$ref": "ContactPoint.json"},
{
"type": "array",
"items": {"$ref": "ContactPoint.json"}
}
]
},
"deathDate": {
"oneOf": [
{"$ref": "#/definitions/deathDate"},
{
"type": "array",
"items": {"$ref": "#/definitions/deathDate"}
}
]
},
"duns": {
"oneOf": [
{"$ref": "#/definitions/duns"},
{
"type": "array",
"items": {"$ref": "#/definitions/duns"}
}
]
},
"email": {
"oneOf": [
{"$ref": "#/definitions/email"},
{
"type": "array",
"items": {"$ref": "#/definitions/email"}
}
]
},
"familyName": {
"oneOf": [
{"$ref": "#/definitions/familyName"},
{
"type": "array",
"items": {"$ref": "#/definitions/familyName"}
}
]
},
"faxNumber": {
"oneOf": [
{"$ref": "#/definitions/faxNumber"},
{
"type": "array",
"items": {"$ref": "#/definitions/faxNumber"}
}
]
},
"follows": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"gender": {
"oneOf": [
{"$ref": "#/definitions/gender"},
{
"type": "array",
"items": {"$ref": "#/definitions/gender"}
}
]
},
"givenName": {
"oneOf": [
{"$ref": "#/definitions/givenName"},
{
"type": "array",
"items": {"$ref": "#/definitions/givenName"}
}
]
},
"globalLocationNumber": {
"oneOf": [
{"$ref": "#/definitions/globalLocationNumber"},
{
"type": "array",
"items": {"$ref": "#/definitions/globalLocationNumber"}
}
]
},
"hasPOS": {
"oneOf": [
{"$ref": "Place.json"},
{
"type": "array",
"items": {"$ref": "Place.json"}
}
]
},
"homeLocation": {
"oneOf": [
{"$ref": "#/definitions/homeLocation"},
{
"type": "array",
"items": {"$ref": "#/definitions/homeLocation"}
}
]
},
"honorificPrefix": {
"oneOf": [
{"$ref": "#/definitions/honorificPrefix"},
{
"type": "array",
"items": {"$ref": "#/definitions/honorificPrefix"}
}
]
},
"honorificSuffix": {
"oneOf": [
{"$ref": "#/definitions/honorificSuffix"},
{
"type": "array",
"items": {"$ref": "#/definitions/honorificSuffix"}
}
]
},
"interactionCount": {
"oneOf": [
{"$ref": "#/definitions/interactionCount"},
{
"type": "array",
"items": {"$ref": "#/definitions/interactionCount"}
}
]
},
"isicV4": {
"oneOf": [
{"$ref": "#/definitions/isicV4"},
{
"type": "array",
"items": {"$ref": "#/definitions/isicV4"}
}
]
},
"jobTitle": {
"oneOf": [
{"$ref": "#/definitions/jobTitle"},
{
"type": "array",
"items": {"$ref": "#/definitions/jobTitle"}
}
]
},
"knows": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"makesOffer": {
"oneOf": [
{"$ref": "Offer.json"},
{
"type": "array",
"items": {"$ref": "Offer.json"}
}
]
},
"memberOf": {
"oneOf": [
{"$ref": "Organization.json"},
{
"type": "array",
"items": {"$ref": "Organization.json"}
}
]
},
"naics": {
"oneOf": [
{"$ref": "#/definitions/naics"},
{
"type": "array",
"items": {"$ref": "#/definitions/naics"}
}
]
},
"nationality": {
"oneOf": [
{"$ref": "Country.json"},
{
"type": "array",
"items": {"$ref": "Country.json"}
}
]
},
"owns": {
"oneOf": [
{"$ref": "#/definitions/owns"},
{
"type": "array",
"items": {"$ref": "#/definitions/owns"}
}
]
},
"parent": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"parents": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"performerIn": {
"oneOf": [
{"$ref": "Event.json"},
{
"type": "array",
"items": {"$ref": "Event.json"}
}
]
},
"relatedTo": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"seeks": {
"oneOf": [
{"$ref": "Demand.json"},
{
"type": "array",
"items": {"$ref": "Demand.json"}
}
]
},
"sibling": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"siblings": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"spouse": {
"oneOf": [
{"$ref": "Person.json"},
{
"type": "array",
"items": {"$ref": "Person.json"}
}
]
},
"taxID": {
"oneOf": [
{"$ref": "#/definitions/taxID"},
{
"type": "array",
"items": {"$ref": "#/definitions/taxID"}
}
]
},
"telephone": {
"oneOf": [
{"$ref": "#/definitions/telephone"},
{
"type": "array",
"items": {"$ref": "#/definitions/telephone"}
}
]
},
"vatID": {
"oneOf": [
{"$ref": "#/definitions/vatID"},
{
"type": "array",
"items": {"$ref": "#/definitions/vatID"}
}
]
},
"workLocation": {
"oneOf": [
{"$ref": "#/definitions/workLocation"},
{
"type": "array",
"items": {"$ref": "#/definitions/workLocation"}
}
]
},
"worksFor": {
"oneOf": [
{"$ref": "Organization.json"},
{
"type": "array",
"items": {"$ref": "Organization.json"}
}
]
}
},
"definitions": {
"additionalName": {
"title": "Additional Name",
"description": "An additional name for a Person, can be used for a middle name.",
"type": "string"
},
"award": {
"title": "Award",
"description": "An award won by this person or for this creative work.",
"type": "string"
},
"awards": {
"title": "Awards",
"description": "Awards won by this person or for this creative work. (legacy spelling; see singular form, award)",
"type": "string"
},
"birthDate": {
"title": "Birth Date",
"description": "Date of birth.",
"type": "string",
"format": "http://schema.org/Date"
},
"brand": {
"title": "Brand",
"description": "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.",
"anyOf": [
{"$ref": "Organization.json"},
{"$ref": "Brand.json"}
]
},
"deathDate": {
"title": "Death Date",
"description": "Date of death.",
"type": "string",
"format": "http://schema.org/Date"
},
"duns": {
"title": "Duns",
"description": "The Dun & Bradstreet DUNS number for identifying an organization or business person.",
"type": "string"
},
"email": {
"title": "Email",
"description": "Email address.",
"type": "string"
},
"familyName": {
"title": "Family Name",
"description": "Family name. In the U.S., the last name of an Person. This can be used along with givenName instead of the Name property.",
"type": "string"
},
"faxNumber": {
"title": "Fax Number",
"description": "The fax number.",
"type": "string"
},
"gender": {
"title": "Gender",
"description": "Gender of the person.",
"type": "string"
},
"givenName": {
"title": "Given Name",
"description": "Given name. In the U.S., the first name of a Person. This can be used along with familyName instead of the Name property.",
"type": "string"
},
"globalLocationNumber": {
"title": "Global Location Number",
"description": "The Global Location Number (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.",
"type": "string"
},
"homeLocation": {
"title": "Home Location",
"description": "A contact location for a person's residence.",
"anyOf": [
{"$ref": "ContactPoint.json"},
{"$ref": "Place.json"}
]
},
"honorificPrefix": {
"title": "Honorific Prefix",
"description": "An honorific prefix preceding a Person's name such as Dr/Mrs/Mr.",
"type": "string"
},
"honorificSuffix": {
"title": "Honorific Suffix",
"description": "An honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.",
"type": "string"
},
"interactionCount": {
"title": "Interaction Count",
"description": "A count of a specific user interactions with this item\u2014for example, 20 UserLikes, 5 UserComments, or 300 UserDownloads. The user interaction type should be one of the sub types of UserInteraction.",
"type": "string"
},
"isicV4": {
"title": "Isic V4",
"description": "The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.",
"type": "string"
},
"jobTitle": {
"title": "Job Title",
"description": "The job title of the person (for example, Financial Manager).",
"type": "string"
},
"naics": {
"title": "Naics",
"description": "The North American Industry Classification System (NAICS) code for a particular organization or business person.",
"type": "string"
},
"owns": {
"title": "Owns",
"description": "Products owned by the organization or person.",
"anyOf": [
{"$ref": "OwnershipInfo.json"},
{"$ref": "Product.json"}
]
},
"taxID": {
"title": "Tax ID",
"description": "The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.",
"type": "string"
},
"telephone": {
"title": "Telephone",
"description": "The telephone number.",
"type": "string"
},
"vatID": {
"title": "Vat ID",
"description": "The Value-added Tax ID of the organisation or person.",
"type": "string"
},
"workLocation": {
"title": "Work Location",
"description": "A contact location for a person's place of work.",
"anyOf": [
{"$ref": "ContactPoint.json"},
{"$ref": "Place.json"}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment