Unofficial Draft
Copyright © 2025 the document editors/authors. Text is available under the Creative Commons Attribution 4.0 International Public License; additional terms may apply.
This extension of [YARRRML] applies the semantics specified by the RML extension for [RML-HTTP-REQUEST-ACCESS], describing the access to a web resource (both as source and as target), modelled as a simplified HTTP request with optional authentication.
This section is non-normative.
We assume readers have basic familiarity with [RDF], [RML] and [YARRRML] concepts.
In this document, examples assume the following namespace prefix bindings unless otherwise stated:
Prefix | Namespace |
---|---|
rml: |
http://w3id.org/rml/ |
rmle: |
https://w3id.org/imec/rml/ns/extensions# |
htv: |
http://www.w3.org/2011/http# |
ex: |
http://example.org/ |
foaf: |
http://xmlns.com/foaf/0.1/ |
The examples are contained in color-coded boxes. We use the Turtle syntax [Turtle] to write RDF.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
HTTP requests can define the access for a data source or a target in resp. the sources
or the targets
collections of a [YARRRML] document.
To describe an HTTP request access, [YARRRML] is extended with following keys for the sources
and targets
collection:
string
.collection
or sequence of collections
.string
.
authentications
collection.string
.
The following values extend the supported values for the key type
for data sources and targets:
Data source type or target type | Value |
---|---|
Direct HTTP Request | directhttprequest |
Linked HTTP Request | linkedhttprequest |
This key's value describes one or more headers, as a collection or sequence of collections. A collection describing one header has following keys:
string
.string
.If unspecified, the value of the key methodName is by default "GET"
.
If unspecified, the accept header is by default derived from the reference formulation of the data source, following the table below:
referenceFormulation | accept |
---|---|
csv |
text/plain |
jsonpath |
application/json |
xpath |
application/xml |
xquery |
application/xml |
If unspecified, the value of the key methodName is by default PUT
.
If unspecified, the content-type header is by default derived from the serialization of the target, following the table below:
serialization | contentType |
---|---|
jsonld |
application/ld+json |
n3 |
text/n3 |
ntriples |
application/n-triples |
nquads |
application/n-quads |
turtle |
text/turtle |
trig |
application/trig |
A authentication is defined in the authentications
collection in the root of the YARRRML document. Each authentication is added to this collection via a key-value pair. The key has to be unique for every authentication. The key's value is a collection with the keys described below.
string
.string
.string
.
string
.
string
.
This key's value describes what type of authentication is used, so that the correct way of authenticating be determined. The following values are supported:
Authentication type | Value |
---|---|
CSS Client Credentials Authentication | cssclientcredentials |
In the following example a data source is defined using a direct HTTP request.
The above example can be shortened, counting on the defaults defined in the RML HTTP Request Access specification.
In the following example two targets are defined:
lt_persons
using a direct HTTP request and lt_persons_acl
uses a linked HTTP request using rel relation acl
.
Both targets require authentication, using the same email, password, webId, and oidcIssuer parameters.
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: