LDIO Skolemisation Transformer

Ldio:SkolemisationTransformer

A transformer which skolemises the incoming model.

What is Skolemisation

In the context of Linked Data, Skolemisation is a process used to handle blank nodes or anonymous nodes in RDF (Resource Description Framework) graphs. These nodes, which lack unique identifiers, are frequently employed in RDF/S knowledge bases to represent complex attributes or resources with known properties but unknown identities.

Skolemisation in Linked Data involves the transformation of these blank nodes into Skolem Uniform Resource Identifiers ( URIs). The process enhances the clarity makes it easier to reference these nodes in future datasets.

This process is particularly useful when dealing with substantial volumes of unstructured data distributed across diverse sources. By improving the accuracy and relevance of RDF summaries in relation to original datasets, Skolemisation enhances the efficiency and effectiveness of subsequent queries against these summaries.

In summary, Skolemisation in Linked Data provides a way to handle the complexity introduced by blank nodes in RDF graphs, thereby enhancing the clarity, interoperability, and usability of the data.

Example

Suppose we have the following RDF triples with a blank node represented as _::

_:bnode <http://purl.org/dc/terms/title> "The Lord of the Rings" .
_:bnode <http://purl.org/dc/terms/creator> "J.R.R. Tolkien" .

In this example, _: is a blank node that represents a resource (a book in this case) with known properties (title and creator) but an unknown identity.

Through Skolemisation, we can replace the blank node with a Skolem URI. The Skolem URI is typically a URL that is unique to the blank node and is generated by the system handling the RDF data. Here’s how it might look:

<http://example.com/.well-known/genid/123456> <http://purl.org/dc/terms/title> "The Lord of the Rings" .
<http://example.com/.well-known/genid/123456> <http://purl.org/dc/terms/creator> "J.R.R. Tolkien" .

In this Skolemized version, the blank node has been replaced with the Skolem URI http://example.com/.well-known/genid/123456. This URI is unique to the resource previously represented by the blank node, and can now be used to reference this resource in other datasets. This is a simple example, but it illustrates the basic process of Skolemisation in Linked Data.

Config

Property Description Required Default Example Supported values
skolemDomain Skolemisation domain true N/A http://example.com Any valid URI

Configuration

The YAML configuration of this example would be as follows:

transformers:
  - name: Ldio:SkolemisationTransformer
    config:
      skolemDomain: http://example.com