The Vocabulary for Cataloging and Linking Streams (VoCaLS) is a OWL 2 ontology that aims at enabling Web Stream selection and discovery.

The vocabulary is organized in three modules: VoCaLS Core, which describes the core elements of the vocabulary, VoCaLS Service Description, which describes RDF stream service descriptions, and VoCaLS Provenance, focused on streaming data transformation and manipulation. We will introduce each module separately.

fig:vcore Figure 1: VoCaLS Core module

VoCALS Core Vocabulary contains the concepts that are based on an extension of dcat to represent streams on the Web. As depicted in Figure 1 the model introduces the basic abstractions to represent streams.

A vocals:StreamDescriptor is a document accessible via HTTP that holds metadata about the stream and its contents. A vocals:Stream represents a Web stream, i.e., an unbounded sequence of time-varying data elements that might be findable and accessible on the Web, and which can be consumed via a vocals:StreamEndpoint. Finally, a vocals:FiniteStreamPartition is a portion of the stream available for regular Linked Data services to access and process its content.

fig:vsd Figure 2: VoCaLS Service Description module.

VoCaLS Service Description focuses on metadata related to streaming services and their capabilities, enabling consumers to discover and select services suitable to their needs as shown in Figure 2 vsd:StreamingService is an abstraction to represent a service that deals data streams of any type. Continuous query engines, stream reasoners, and RDF stream publishers are valid examples. Three classes of RDF streaming services were identified, although others could be added if needed:

  • vsd:CatalogService, a service that may provide metadata about streams, their content, query endpoints and more.
  • vsd:PublishingService, which represents a service that publishes RDF streams, possibly following a Linked Data compliant scheme, and
  • vsd:ProcessingService, which models a stream processing service that performs any kind of transformation on streaming data, e.g. querying, reasoning, filtering.

fig:vprov Figure 3: VoCaLS Provenance module.

VoCaLS Stream Provenance focuses on tracking the provenance of stream processing services, i.e., tracing the consequences of operations performed over the streams. The module defines four main classes also shown in Figure 3.

  • vprov:R2ROperator refers to operators that produce RDF mappings (relations) from other RDF mappings.
  • vprov:R2SOperator represents operators that produce a stream from a relation.
  • vprov:S2ROperator refers to operators that produce relations from streams, e.g., windowing. Finally,
  • vprov:S2SOperator allows describing operators that produce a stream from another stream.

More details about the ontology can be found in the documentation or in the paper.

More delicious recipes

This is one of the many fantastic recipes available on this blog