RDF source

The RDF data source is able to read RDF data in N-Triples, Turtle, N3 or RDF/XML format and turn this into entities.

See the Working with RDF document for more detail on working with RDF in Sesam.

It will transform triples on the form <subject-uri> <predicate-uri> "value" OR <object-uri> into entities on the form:

{
    "_id": "<subject-uri>",
    "<predicate-uri>": "value" OR "~robject-uri"
}

RDF Blank Nodes (aka BNodes) will be turned into child entities.

Prototype

{
   "type": "rdf",
   "system": "url--or-microservice-system-id",
   "url": "url-to-rdf-file",
   "sort_lists": true,
   "format": "nt-ttl-or-xml"
}

Properties

Property

Type

Description

Default

Req

system

String

The ID of the URL system or microservice system component to use.

Yes

url

String

The URL of the RDF file to load - it can contain multiple subjects (with blank node hierarchies) and each unique non-blank subject will result in a single root entity.

Yes

format

String

The type of RDF file referenced by the url property. It is an enumeration that can take following recognized values: "nt" for N-Triples, "ttl" for Turtle, "n3" for N3 or "xml" for RDF/XML files.

“nt”

sort_lists

Boolean

If the sort_lists is set to true any resulting entity properties containing lists of values (due to them having the same RDF predicate) will be sorted, making the output predictable. This applies in a recursive fashion.

true

is_sorted

Boolean

Indicates that the input data is sorted on RDF subject. If the is_sorted is set to true and the format property is nt (N-Triples), the RDF source will attempt to parse the input data sequentially and emit a new entity when the RDF subject changes, without loading the entire RDF file into memory first. Note that the input data cannot contain RDF Blank Nodes (aka BNodes) in this case. The property has no effect on formats other than nt.

false

Continuation support

See the section on continuation support for more information.

Property

Value

supports_since

false (Default)

is_since_comparable

true (Default)

is_chronological

false (Default)

Example configuration

The outermost object would be your pipe configuration, which is omitted here for brevity:

{
    "source": {
        "type": "rdf",
        "url": "http://www.snee.com/rdf/elvisimp.rdf",
        "format": "xml",
    }
}