<img src="https://dataio.goatcounter.com/count?p=/test-noscript">

DataIO

Unofficial Draft

Latest editor's draft:
https://rml.io/specs/dataio
Editors:
(Ghent University – imec – IDLab)
(Ghent University – imec – IDLab)
This Version
https://rml.io/specs/dataio/20210518/
Previous Version
https://rml.io/specs/dataio/20210518/
Website
https://rml.io/

Abstract

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.

Status of This Document

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.

1. Conformance

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.

2. Overview

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:

Prefix Namespace
rmlt http://semweb.mmlab.be/ns/rml-target#
formats https://www.w3.org/ns/formats/
comp http://semweb.mmlab.be/ns/rml-compression#
void http://rdfs.org/ns/void#
sd http://www.w3.org/ns/sparql-service-description#
dcat http://www.w3.org/ns/dcat#

The examples are contained in pink colored boxes:

# This box contains the example's Target description.

3. Target vocabulary

The Target vocabulary namespace is http://semweb.mmlab.be/ns/rml-target# and it's prefix is rmlt.

The Target vocabulary consists of a single class: rmlt:LogicalTarget to describe how a knowledge graph must be exported after generation.

3.1 Defining Targets

A Target is any target to where RDF triples are exported to.

A Target (rmlt:LogicalTarget) contains the following properties:

The Target definition requires only the target (rmlt:target) to be specified, all other properties are optional.

Property Domain Range
rmlt:target rmlt:LogicalTarget URI or Literal
rmlt:serialization rmlt:LogicalTarget formats:Format
rmlt:compression rmlt:LogicalTarget comp:Compression
Target structure
Figure 1 The structure of Target

3.2 Examples

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] endpoint with SPARQL UPDATE:

<#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;
.

A. References

A.1 Normative references

[DCAT]
Data Catalog Vocabulary (DCAT) - Version 2. W3C. 22 February 2020. W3C Recommendation. URL: https://www.w3.org/TR/vocab-dcat/
[N-Quads]
RDF 1.1 N-Quads. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/n-quads/
[RDF-Concepts]
Resource Description Framework (RDF): Concepts and Abstract Syntax. Graham Klyne; Jeremy Carroll. W3C. 10 February 2004. W3C Recommendation. URL: https://www.w3.org/TR/rdf-concepts/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119
[RFC3986]
Uniform Resource Identifier (URI): Generic Syntax. IETF. March 1997. Internet Standard. URL: https://tools.ietf.org/html/rfc3986
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc8174
[SD]
SPARQL 1.1 Service Description. W3C. 21 March 2013. W3C Recommendation. URL: https://www.w3.org/TR/sparql11-service-description/
[SPARQL]
SPARQL 1.1 Overview. W3C. 21 March 2013. W3C Recommendation. URL: https://www.w3.org/TR/sparql11-overview/
[Turtle]
RDF 1.1 Turtle. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/turtle/
[VoID]
Describing Linked Datasets with the VoID Vocabulary. W3C. 03 March 2011. W3C Interest Group Note. URL: https://www.w3.org/TR/void/