DatasetDynamics/DadyVocabulary

From W3C Wiki

dady Extension to voiD

What is missing is a more coarse-grained description of the data-source dynamics. This description should be able to classify data sources and enable a discovery of the supported notification/update mechanism.

Classification

Let us take a very simplified view on data sources and their characteristics. Essentially, one may classify the Linked Data sources into the following types:

  1. one-shots: published once, must not change beside erratas - think of archives, standards, IANA registries, etc.
  2. quasi-static: updated every now and then in rather irregularly time intervals, such as FOAF documents, Geonames, DBPedia (?), etc.
  3. semi-dynamic: updated on a periodic basis, such as statistics, DBPedia (?), etc.
  4. inherently-dynamic: frequently updated, potentially on in irregularly time intervals, such as everything based on feeds, blogs in SIOC, etc.

What's missing here? Should dynamics and regularity of update be really two orthogonal dimensions?

Straw-man Proposal for a Vocabulary

The proposed vocabulary, called dady (data source dynamic) is intended to be used together with voiD.

One could think of two orthogonal dimensions regarding dataset dynamics:

  • update regularity (regular updates vs. irregular updates, and
  • frequency (see also DC frequency voc)

which are all mutually disjoint.

The example below declares :ExampleDS to be a quasi-static dataset (combination of irregular and low-frequent updates) and offers two update sources (an Atom feed and a update source using Triplify's update vocabulary).


 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix foaf: <http://xmlns.com/foaf/0.1/> .
 @prefix dcterms: <http://purl.org/dc/terms/> .
 @prefix void: <http://rdfs.org/ns/void#> .
 @prefix dady: <http://purl.org/NET/dady#> .
 @prefix : <#> .

 :ExampleDS rdf:type void:Dataset ;
            foaf:homepage <http://example.org/> ;
            dady:dynamics [
              rdf:type dady:IrregularUpdates ;
              rdf:type dady:LowFrequentUpdates ;
              dady:update [
                rdf:type dady:AtomUpdateSource ;
                dady:notification <http://example.org/updates.atom> ;
              ] ; 
              dady:update [
                rdf:type dady:TriplifyUpdateSource ;
                dady:notification <http://example.org/lod/update> ;
              ] ; 
            ] .