@@ -124,6 +124,11 @@ classes:
124124 description : >-
125125 A link can be viewed as a statement of the form "link context has a relation type resource at link target",
126126 where the optional target attributes may further describe the resource.
127+ annotations :
128+ jsonschema_config :
129+ tag : jsonschema_config
130+ value :
131+ additionalProperties : true
127132 attributes :
128133 href :
129134 description : Target IRI of a link or submission target of a form.
@@ -169,86 +174,43 @@ classes:
169174 Form :
170175 class_uri : hctl:Form
171176 description : >-
172- A form can be viewed as a statement of "To perform an operation type operation on form context, make a
173- request method request to submission target" where the optional form fields may further describe the required
174- request. In Thing Descriptions, the form context is the surrounding Object, such as Properties, Actions, and
175- Events or the Thing itself for meta-interactions.
176- comments :
177- - >-
178- If no response name-value pair is provided, it MUST be assumed that the content type of the response
179- is equal to the content type assigned to the Form instance
180- - >-
181- If the content type of the expected response differs from the content type of the form, the Form instance
182- MUST include a name-value pair with the name response
183- attributes :
177+ A form hypermedia control that describes how an operation can be performed.
178+ annotations :
179+ jsonschema_config :
180+ tag : jsonschema_config
181+ value :
182+ additionalProperties : true
183+ slots :
184+ - op
185+ - href
186+ - contentType
187+ - contentCoding
188+ - subprotocol
189+ - security
190+ - scopes
191+ - response
192+ - additionalResponses
193+ slot_usage :
194+ op :
195+ range : string
196+ pattern : ^(readproperty|writeproperty|observeproperty|unobserveproperty|invokeaction|queryaction|cancelaction|subscribeevent|unsubscribeevent|readallproperties|writeallproperties|readmultipleproperties|writemultipleproperties|observeallproperties|unobserveallproperties|queryallactions|subscribeallevents|unsubscribeallevents)$
197+ multivalued : true
184198 href :
185- description : Target IRI of a link or submission target of a form.
186- slot_uri : hctl:hasTarget
187- range : uri
188199 required : true
200+ range : uri
189201 contentType :
190- description : >-
191- Assign a content type based on a media type (e.g., text/plain) and potential parameters
192- (e.g., charset=utf-8) for the media type [RFC2046].
193- slot_uri : hctl:forContentType
194202 range : string
195203 contentCoding :
196- description : >-
197- Content coding values indicate an encoding transformation that has been or can be applied to a
198- representation. Content codings are primarily used to allow a representation to be compressed or
199- otherwise usefully transformed without losing the identity of its underlying media type and without
200- loss of information. Examples of content coding include "gzip", "deflate", etc.
201- slot_uri : hctl:forContentCoding
202204 range : string
205+ subprotocol :
206+ range : string
207+ pattern : ^(longpoll|websub|sse)$
203208 security :
204- description : >-
205- Set of security definition names, chosen from those defined in securityDefinitions. These must all be
206- satisfied for access to resources.
207209 range : string
208210 multivalued : true
209211 scopes :
210- description : >-
211- Set of authorization scope identifiers provided as an array. These are provided in tokens returned by
212- an authorization server and associated with forms in order to identify what resources a client may
213- access and how. The values associated with a form SHOULD be chosen from those defined in an
214- OAuth2SecurityScheme active on that form.
215212 range : string
216213 multivalued : true
217- response :
218- description : >-
219- This optional term can be used if, e.g., the output communication metadata differ from input metadata
220- (e.g., output contentType differ from the input contentType). The response name contains metadata that
221- is only valid for the primary response messages.
222- slot_uri : hctl:returns
223- range : ExpectedResponse
224- additionalResponses :
225- description : >-
226- This optional term can be used if additional expected responses are possible, e.g. for error reporting.
227- Each additional response needs to be distinguished from others in some way (for example, by specifying
228- a protocol-specific error code), and may also have its own data schema.
229- slot_uri : hctl:additionalReturns
230- range : AdditionalExpectedResponse
231- multivalued : true
232- subprotocol :
233- description : >-
234- Indicates the exact mechanism by which an interaction will be accomplished for a given protocol when
235- there are multiple options. For example, for HTTP and Events, it indicates which of several available
236- mechanisms should be used for asynchronous notifications such as long polling, WebSub, Server-Sent Events (also known as EventSource).
237- slot_uri : hctl:forSubProtocol
238- range : string
239- comments :
240- - e.g., longpoll, websub, or sse
241- op :
242- description : >-
243- Indicates the semantic intention of performing the operation(s) described by the form. For example,
244- the Property interaction allows get and set operations. The protocol binding may contain a form for
245- the get operation and a different form for the set operation. The op attribute indicates which form
246- is for which and allows the client to select the correct form for the operation required.
247- slot_uri : hctl:hasOperationType
248- exactly_one_of :
249- - range : OperationType
250- - range : OperationType
251- multivalued : true
252214
253215 ExpectedResponse :
254216 class_uri : hctl:ExpectedResponse
0 commit comments