This document is licensed under a Creative Commons Attribution 4.0 International Public License (CC-BY).
This document describes Target, a formal model and a common representation for specifying how a Knowledge Graph should be exported to a given target. Target reuses existing data access descriptions and is therefore not limited to a specific set of targets. The current document describes the Target concepts through definitions and examples.
The version of this document is v1.0.0.
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
This is an early draft, yet efforts are made to keep things stable.
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.
The key words MAY and MUST in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
This section is non-normative.
This document specifies Target, a description for defining how a generated RDF [RDF-Concepts] knowledge graph must be exported. A Target description is not tailored towards a specific Target which allows to export the generated RDF triples to any type of Target. Target leverages the access descriptions of data access such as DCAT [DCAT], VoID [VoID], SD [SD], etc. and allows fine grained control over where each RDF triple is exported to.
In this document, examples assume the following namespace prefix bindings unless otherwise stated:
The examples are contained in pink colored boxes:
# This box contains the example's Target description.
The Target vocabulary namespace is http://semweb.mmlab.be/ns/rml-target#
and it's prefix is
The Target vocabulary consists of a single class:
to describe how a knowledge graph must be exported after generation.
A Target is any target to where RDF triples are exported to.
A Target (
rmlt:LogicalTarget) contains the following properties:
rmlt:target) locates the output target. It is a URI [RFC3986] or Literal [RDF-Concepts] that represents the target's location. External vocabulary such as DCAT, VoID, SD is allowed here. Each
rmlt:LogicalTargetMUST have one
rmlt:targetproperty. The target MAY be a Literal containing the path the file to where the knowledge graph is exported to, this is allowed to stay backwards compatibility with existing data access descriptions.
rmlt:serialization) MAY specify the serialization format for exporting a knowledge graph. The serialization format is described using the W3C formats namespace. By default, the serialization format is N-Quads [N-Quads].
rmlt:compression) MAY describe the compression algorithm to apply when exporting a knowledge graph. The compression format is specified through the comp namespace. By default, no compression is applied.
The Target definition requires only the target (
rmlt:target) to be specified,
all other properties are optional.
The following example show a Target of an RDF dump in Turtle [Turtle] format with GZip compression:
<#VoIDDump> a rmlt:LogicalTarget; rmlt:target [ a void:Dataset; void:dataDump <file:///data/dump.ttl>; ]; rmlt:serialization formats:Turtle; rmlt:compression comp:gzip; .
The following example shows a Target of a [SPARQL]
<#SPARQLEndpoint> a rmlt:LogicalTarget; rmlt:target [ a sd:Service; sd:endpoint <http://example.com/sparql-update>; sd:supportedLanguage sd:SPARQL11Update ; ]; .
The following example shows a Target of a DCAT dataset in N-Quads format with Zip compression:
<#DCATDump> a rmlt:LogicalTarget; rmlt:target [ a dcat:Dataset; dcat:distribution [ a dcat:Distribution; dcat:accessURL <http://example.org/dcat-access-url>; ]; ]; rmlt:serialization formats:N-Quads; rmlt:compression comp:zip; .