java.lang.Object
it.uniroma2.art.semanticturkey.changetracking.vocabulary.CHANGELOG

public abstract class CHANGELOG extends Object
Constant for the Changelog vocabulary used to represent the history of a repository. After the first commit, the history repository is expected to have a shape like the following:

 
 	<!-- the example below assumes the additional metadata specified by ST services -->
 
	<http://example.org/history#fec31f27-00b2-4a21-ac0f-e1d72ae90f4a> a cl:Commit ;
		prov:startedAtTime "2017-05-09T22:39:51.410+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:endedAtTime "2017-05-09T22:39:51.420+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:generated <http://example.org/history#72de0bd1-b132-4ec1-aa36-859df633d910> ;
		prov:qualifiedAssociation [
			prov:agent <http://semanticturkey.uniroma2.it/ns/users/TestUser> ;
			prov:hadRole <http://semanticturkey.uniroma2.it/ns/tracking/performer> .
		] ;
		cl:status "committed" ;
 		cl:revisionNumber "0"^^xsd:integer .

	<http://example.org/history#72de0bd1-b132-4ec1-aa36-859df633d910> cl:addedStatement <http://example.org/history#b3213db9-d52b-4985-9fbe-5201d1173785> ;
		a prov:Entity ;
		prov:generatedAtTime "2017-05-09T22:39:51.419+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:wasGeneratedBy <http://example.org/history#fec31f27-00b2-4a21-ac0f-e1d72ae90f4a> .
		
	<http://example.org/history#b3213db9-d52b-4985-9fbe-5201d1173785> a cl:Quadruple ;
		cl:context <http://example.org/graph-A> ;
		cl:object <http://xmlns.com/foaf/0.1/Person> ;
		cl:predicate <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ;
		cl:subject <http://example.org/socrates> .	

	<http://example.org/history#7d1110b5-8542-430a-b940-7d0868d204d3> a cl:Commit ;
		prov:startedAtTime "2017-05-09T22:39:51.760+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:endedAtTime "2017-05-09T22:39:51.762+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:generated <http://example.org/history#4480a891-17f4-4dc9-965a-7ce1aa877b14> ;
		prov:qualifiedAssociation [
			prov:agent <http://semanticturkey.uniroma2.it/ns/users/TestUser> ;
			prov:hadRole <http://semanticturkey.uniroma2.it/ns/tracking/performer> .
		] ;
 		cl:status "committed" ;
 		cl:revisionNumber "1"^^xsd:integer ;
		cl:parentCommit <http://example.org/history#fec31f27-00b2-4a21-ac0f-e1d72ae90f4a> .

	<http://example.org/history#4480a891-17f4-4dc9-965a-7ce1aa877b14> a prov:Entity ;
		prov:generatedAtTime "2017-05-09T22:39:51.761+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
		prov:wasGeneratedBy <http://example.org/history#7d1110b5-8542-430a-b940-7d0868d204d3> ;
		cl:removedStatement <http://example.org/history#b8931f7e-c1c0-4b28-8f1f-fc88ae0dccd7> .
	
	<http://example.org/history#b8931f7e-c1c0-4b28-8f1f-fc88ae0dccd7> a cl:Quadruple ;
		cl:context <http://example.org/graph-A> ;
		cl:object <http://xmlns.com/foaf/0.1/Person> ;
		cl:predicate <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ;
		cl:subject <http://example.org/socrates> .


 	cl:MASTER cl:tip <http://example.org/history#7d1110b5-8542-430a-b940-7d0868d204d3> .
 
 

The resource cl:MASTER conventionally holds a reference to the tip of the history: i.e. the latest commit. Commits themselves are chained together via the property cl:parentCommit: it connects a commit to the commit that was the tip when the update of the data repository was perfomed.

Each commit may be described via a number of metadata properties, and above all it is connected to the triples effectively added or removed. In the history, the null context is represented via the resource SESAME.NIL.

Usually, the metadata about changes to the data repository are recorded before of the actual change to the data. This approach guarantees that even in face of failures of the history repository no change can be lost in the history. The property cl:status is used to indicate that a change described by a cl:Commit has been effectively committed to the data repository.

Usually, only the tip of the MASTER can be in an uncommitted state, because new commits are forbidden until the tip is committed. An uncommitted tip may indicate a change on fly against the data repository, or that there as been a failure:

  1. the data repository has been updated, but the history repository could not update the status of the commit
  2. the data repository failed to commit, but the history repository failed to undo the changes to the history

Therefore, if we exclude an operation on fly, an "uncommitted" indicates an uncertainty on whether or not data have been effectively recorded.

Author:
Manuel Fiorelli
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final String
    http://semanticturkey.uniroma2.it/ns/changelog#
    static final org.eclipse.rdf4j.model.Namespace
    An immutable Namespace constant that represents the CHANGELOG namespace.
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final String
    Recommended prefix for the CHANGETRACKER namespace: "cl"
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
    static final org.eclipse.rdf4j.model.IRI
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    isNull(org.eclipse.rdf4j.model.Value v)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NAMESPACE

      public static final String NAMESPACE
      http://semanticturkey.uniroma2.it/ns/changelog#
      See Also:
    • PREFIX

      public static final String PREFIX
      Recommended prefix for the CHANGETRACKER namespace: "cl"
      See Also:
    • NS

      public static final org.eclipse.rdf4j.model.Namespace NS
      An immutable Namespace constant that represents the CHANGELOG namespace.
    • QUADRUPLE

      public static final org.eclipse.rdf4j.model.IRI QUADRUPLE
    • SUBJECT

      public static final org.eclipse.rdf4j.model.IRI SUBJECT
    • PREDICATE

      public static final org.eclipse.rdf4j.model.IRI PREDICATE
    • OBJECT

      public static final org.eclipse.rdf4j.model.IRI OBJECT
    • CONTEXT

      public static final org.eclipse.rdf4j.model.IRI CONTEXT
    • REMOVED_STATEMENT

      public static final org.eclipse.rdf4j.model.IRI REMOVED_STATEMENT
    • ADDED_STATEMENT

      public static final org.eclipse.rdf4j.model.IRI ADDED_STATEMENT
    • COMMIT

      public static final org.eclipse.rdf4j.model.IRI COMMIT
    • PARENT_COMMIT

      public static final org.eclipse.rdf4j.model.IRI PARENT_COMMIT
    • STATUS

      public static final org.eclipse.rdf4j.model.IRI STATUS
    • MASTER

      public static final org.eclipse.rdf4j.model.IRI MASTER
    • TIP

      public static final org.eclipse.rdf4j.model.IRI TIP
    • NULL

      public static final org.eclipse.rdf4j.model.IRI NULL
    • REVISION_NUMBER

      public static final org.eclipse.rdf4j.model.IRI REVISION_NUMBER
  • Constructor Details

    • CHANGELOG

      public CHANGELOG()
  • Method Details

    • isNull

      public static boolean isNull(org.eclipse.rdf4j.model.Value v)