1 | {
|
2 | "title": "ContactPoint",
|
3 | "@id": "schema:ContactPoint",
|
4 | "extends": "Thing",
|
5 | "role": "tertiary",
|
6 | "status": "stable",
|
7 | "category": "other",
|
8 | "description": "A contact point, usually within an organization.",
|
9 | "$comment": "This is an implementation of schema.org [`ContactPoint`](https://schema.org/ContactPoint). It extends schema.org `ContactPoint` by, adding a `content` property which must be an array of [`BlockContent`](./BlockContent), as well as the properties added by [`CreativeWork`](./CreativeWork) which it extends.\n`ContactPoint` is analogous, and structurally similar to, the JATS XML [`<corresp>`](https://jats.nlm.nih.gov/archiving/tag-library/1.1/element/corresp.html) element and the HTML5 [`<address>`](https://dev.w3.org/html5/html-author/#the-address-element) element.",
|
10 | "properties": {
|
11 | "type": {
|
12 | "@id": "schema:type",
|
13 | "description": "The name of the type.",
|
14 | "type": "string",
|
15 | "enum": [
|
16 | "ContactPoint",
|
17 | "PostalAddress"
|
18 | ],
|
19 | "default": "ContactPoint",
|
20 | "from": "Entity"
|
21 | },
|
22 | "id": {
|
23 | "@id": "schema:id",
|
24 | "description": "The identifier for this item.",
|
25 | "type": "string",
|
26 | "from": "Entity"
|
27 | },
|
28 | "meta": {
|
29 | "@id": "stencila:meta",
|
30 | "description": "Metadata associated with this item.",
|
31 | "type": "object",
|
32 | "from": "Entity"
|
33 | },
|
34 | "alternateNames": {
|
35 | "@id": "schema:alternateName",
|
36 | "description": "Alternate names (aliases) for the item.",
|
37 | "type": "array",
|
38 | "items": {
|
39 | "type": "string"
|
40 | },
|
41 | "from": "Thing",
|
42 | "isArray": true,
|
43 | "isPlural": true,
|
44 | "aliases": [
|
45 | "alternateName"
|
46 | ]
|
47 | },
|
48 | "description": {
|
49 | "@id": "schema:description",
|
50 | "description": "A description of the item.",
|
51 | "$comment": "Allows for the description to be an array of nodes (e.g. an array of inline content,\nor a couple of paragraphs), or a string. The `minItems` restriction avoids a string\nbeing coerced into an array with a single string item.\n",
|
52 | "anyOf": [
|
53 | {
|
54 | "type": "array",
|
55 | "items": {
|
56 | "$ref": "BlockContent.schema.json"
|
57 | }
|
58 | },
|
59 | {
|
60 | "type": "array",
|
61 | "items": {
|
62 | "$ref": "InlineContent.schema.json"
|
63 | },
|
64 | "minItems": 2
|
65 | },
|
66 | {
|
67 | "type": "string"
|
68 | }
|
69 | ],
|
70 | "from": "Thing"
|
71 | },
|
72 | "identifiers": {
|
73 | "@id": "schema:identifier",
|
74 | "description": "Any kind of identifier for any kind of Thing.",
|
75 | "$comment": "Some identifiers have specific properties e.g the `issn` property for\nthe `Periodical` type. These should be used in preference to this\nproperty which is intended for identifiers that do not yet have a\nspecific property. Identifiers can be represented as strings, but\nusing a `PropertyValue` will usually be better because it allows\nfor `propertyID` (i.e. the type of identifier).\n",
|
76 | "type": "array",
|
77 | "items": {
|
78 | "anyOf": [
|
79 | {
|
80 | "$ref": "PropertyValue.schema.json"
|
81 | },
|
82 | {
|
83 | "type": "string"
|
84 | }
|
85 | ]
|
86 | },
|
87 | "from": "Thing",
|
88 | "isArray": true,
|
89 | "isPlural": true,
|
90 | "aliases": [
|
91 | "identifier"
|
92 | ]
|
93 | },
|
94 | "images": {
|
95 | "@id": "schema:image",
|
96 | "description": "Images of the item.",
|
97 | "type": "array",
|
98 | "items": {
|
99 | "anyOf": [
|
100 | {
|
101 | "$ref": "ImageObject.schema.json"
|
102 | },
|
103 | {
|
104 | "type": "string",
|
105 | "format": "uri"
|
106 | }
|
107 | ]
|
108 | },
|
109 | "from": "Thing",
|
110 | "isArray": true,
|
111 | "isPlural": true,
|
112 | "aliases": [
|
113 | "image"
|
114 | ]
|
115 | },
|
116 | "name": {
|
117 | "@id": "schema:name",
|
118 | "description": "The name of the item.",
|
119 | "type": "string",
|
120 | "from": "Thing"
|
121 | },
|
122 | "url": {
|
123 | "@id": "schema:url",
|
124 | "description": "The URL of the item.",
|
125 | "type": "string",
|
126 | "format": "uri",
|
127 | "from": "Thing"
|
128 | },
|
129 | "availableLanguages": {
|
130 | "@id": "schema:availableLanguage",
|
131 | "description": "Languages (human not programming) in which it is possible to communicate\nwith the organization/department etc.\n",
|
132 | "type": "array",
|
133 | "items": {
|
134 | "type": "string"
|
135 | },
|
136 | "from": "ContactPoint",
|
137 | "isArray": true,
|
138 | "isPlural": true,
|
139 | "aliases": [
|
140 | "availableLanguage"
|
141 | ]
|
142 | },
|
143 | "emails": {
|
144 | "@id": "schema:email",
|
145 | "description": "Email address for correspondence.",
|
146 | "type": "array",
|
147 | "items": {
|
148 | "type": "string",
|
149 | "format": "email"
|
150 | },
|
151 | "from": "ContactPoint",
|
152 | "isArray": true,
|
153 | "isPlural": true,
|
154 | "aliases": [
|
155 | "email"
|
156 | ]
|
157 | },
|
158 | "telephoneNumbers": {
|
159 | "@id": "schema:telephone",
|
160 | "aliases": [
|
161 | "telephone",
|
162 | "telephoneNumber"
|
163 | ],
|
164 | "description": "Telephone numbers for the contact point.",
|
165 | "type": "array",
|
166 | "items": {
|
167 | "type": "string"
|
168 | },
|
169 | "from": "ContactPoint",
|
170 | "isArray": true,
|
171 | "isPlural": true
|
172 | }
|
173 | },
|
174 | "examples": [
|
175 | {
|
176 | "type": "ContactPoint",
|
177 | "availableLanguages": [
|
178 | "English",
|
179 | "Māori"
|
180 | ],
|
181 | "emails": [
|
182 | "welcome@example.org"
|
183 | ],
|
184 | "telephone": "00641234567"
|
185 | }
|
186 | ],
|
187 | "file": "ContactPoint.schema.yaml",
|
188 | "children": [
|
189 | "PostalAddress"
|
190 | ],
|
191 | "descendants": [
|
192 | "PostalAddress"
|
193 | ],
|
194 | "$schema": "http://json-schema.org/draft-07/schema#",
|
195 | "$id": "https://schema.stenci.la/v1/ContactPoint.schema.json",
|
196 | "source": "https://github.com/stencila/schema/blob/master/schema/ContactPoint.schema.yaml",
|
197 | "type": "object",
|
198 | "propertyAliases": {
|
199 | "alternateName": "alternateNames",
|
200 | "identifier": "identifiers",
|
201 | "image": "images",
|
202 | "availableLanguage": "availableLanguages",
|
203 | "email": "emails",
|
204 | "telephone": "telephoneNumbers",
|
205 | "telephoneNumber": "telephoneNumbers"
|
206 | },
|
207 | "additionalProperties": false,
|
208 | "required": [
|
209 | "type"
|
210 | ]
|
211 | }
|