Copyright © 2005 Talis Information Ltd.
This vocabulary defines a set of terms for describing changes to resource descriptions.
The vocabulary introduces the notion of a ChangeSet which encapsulates the delta between two versions of a resource description. In this context a resource description is the set of triples that in some way comprise a description of a resource. The delta is represented by two sets of triples: additions and removals. A ChangeSet can be used to modify a resource description by first removing all triples from the description that are in the removals set and adding the triples in the additions set.
The URI for this vocabulary is
http://purl.org/vocab/changeset/schema#
When used in XML documents the suggested prefix is cs
Each class or property in the vocabulary has a URI constructed by appending a term name to the vocabulary URI. For example:
http://purl.org/vocab/changeset/schema#statement
http://purl.org/vocab/changeset/schema#ChangeSet
The term name for a class always starts with an uppercase character. Where the term name is comprised of multiple concatenated words, the leading character of each word will be an uppercase character. For example:
ChangeSet
The term name for a property always starts with an lowercase character. Where the term name is comprised of multiple concatenated words, the leading character of the second and each subsequent word will be an uppercase character. For example:
statement
addition
This vocabulary defines one class and 8 properties .
Term Name | Type | Definition |
---|---|---|
ChangeSet | class | The encapsulation of a delta between two versions of a resource description |
addition | property | a triple to be added to the resource description |
changeReason | property | a short, human readable description of the purpose for the changeset |
createdDate | property | the date that the changeset was created |
creatorName | property | the name of the entity responsible for creating the changeset |
precedingChangeSet | property | the changeset that immediately precedes this one |
removal | property | a triple to be removed from the resource description |
statement | property | a triple included in this set of changes |
subjectOfChange | property | the resource to which this set of changes applies |
Definition: The encapsulation of a delta between two versions of a resource description
URI: | http://purl.org/vocab/changeset/schema#ChangeSet |
---|---|
Label: | ChangeSet |
Subclass of | (composite term, see schema) |
Paraphrase (experimental) | A cs:ChangeSet is something that, amongst other things, something that, amongst other things, is a has at least 1 cs:statement property, has no more than 1 cs:previousChangeSet property, has no more than 1 cs:subjectOfChange property, has no more than 1 cs:createdDate property, has no more than 1 cs:creatorName property and has no more than 1 cs:changeReason property |
Definition: [The value of this property is] a triple to be added to the resource description
By convention the subject of the triple being added should be the same as the subjectOfChange
URI: | http://purl.org/vocab/changeset/schema#addition |
---|---|
Label: | addition |
Domain | cs:ChangeSet |
Range | rdf:Statement |
Subproperty of | cs:statement |
Paraphrase (experimental) | Having a cs:addition implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] a short, human readable description of the purpose for the changeset
URI: | http://purl.org/vocab/changeset/schema#changeReason |
---|---|
Label: | changeReason |
Domain | cs:ChangeSet |
Range | rdfs:Literal |
Paraphrase (experimental) | Having a cs:changeReason implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] the date that the changeset was created
The date should be in W3CDTF format
URI: | http://purl.org/vocab/changeset/schema#createdDate |
---|---|
Label: | createdDate |
Domain | cs:ChangeSet |
Subproperty of | dc:date |
Paraphrase (experimental) | Having a cs:createdDate implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] the name of the entity responsible for creating the changeset
URI: | http://purl.org/vocab/changeset/schema#creatorName |
---|---|
Label: | creatorName |
Domain | cs:ChangeSet |
Range | rdfs:Literal |
Paraphrase (experimental) | Having a cs:creatorName implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] the changeset that immediately precedes this one
This property can be used to build a history of changes to a particular resource description. The first ChangeSet in the history will have no precedingChangeSet property. Each subsequent ChangeSet added to the history references the preceding one resulting in a singly-linked list of changes. Care must be taken not to introduce cycles in the history.
In systems that assume a closed world, the most recent ChangeSet for a particular resource description can be discovered by looking for the ChangeSet that is not the value of a precedingChangeSet property. Conversely, the earliest ChangeSet is the one that is not the subject of a precedingChangeSet property.
URI: | http://purl.org/vocab/changeset/schema#precedingChangeSet |
---|---|
Label: | precedingChangeSet |
Domain | cs:ChangeSet |
Range | cs:ChangeSet |
Paraphrase (experimental) | Having a cs:precedingChangeSet implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] a triple to be removed from the resource description
By convention the subject of the triple being removed should be the same as the subjectOfChange
URI: | http://purl.org/vocab/changeset/schema#removal |
---|---|
Label: | removal |
Domain | cs:ChangeSet |
Range | rdf:Statement |
Subproperty of | cs:statement |
Paraphrase (experimental) | Having a cs:removal implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] a triple included in this set of changes
URI: | http://purl.org/vocab/changeset/schema#statement |
---|---|
Label: | statement |
Domain | cs:ChangeSet |
Range | rdf:Statement |
Paraphrase (experimental) | Having a cs:statement implies being something that, amongst other things, is a cs:ChangeSet |
Definition: [The value of this property is] the resource to which this set of changes applies
URI: | http://purl.org/vocab/changeset/schema#subjectOfChange |
---|---|
Label: | subjectOfChange |
Domain | cs:ChangeSet |
Range | rdfs:Resource |
Paraphrase (experimental) | Having a cs:subjectOfChange implies being something that, amongst other things, is a cs:ChangeSet |
The following ChangeSet describes a change the the description of the resource identified by http://example.com/res#thing
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cs="http://purl.org/vocab/changeset/schema#">
<cs:ChangeSet rdf:about="http://example.com/changesets#change">
<cs:subjectOfChange rdf:resource="http://example.com/res#thing"/>
<cs:createdDate>2006-01-01T00:00:00Z</cs:createdDate>
<cs:creatorName>Anne Onymous</cs:creatorName>
<cs:changeReason>Change of title</cs:changeReason>
<cs:removal>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<rdf:object>Original Title</rdf:object>
</rdf:Statement>
</cs:removal>
<cs:addition>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<rdf:object>New Title</rdf:object>
</rdf:Statement>
</cs:addition>
</cs:ChangeSet>
</rdf:RDF>
The ChangeSet describes the removal of a single statement, the dc:title of the resource:
<http://example.com/res#thing> <http://purl.org/dc/elements/1.1/> "Original Title" .
And the subsequent addition of another statement with a new value for dc:title:
<http://example.com/res#thing> <http://purl.org/dc/elements/1.1/> "New Title" .
So, given the following description of the resource:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>Original Title</dc:title>
<dc:description>A short description of this resource</dc:description>
</rdf:Description>
</rdf:RDF>
Application of the ChangeSet would result in the following:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>New Title</dc:title>
<dc:description>A short description of this resource</dc:description>
</rdf:Description>
</rdf:RDF>
This example shows how a history of changes can be maintained using the precedingChangeSet property. We start with the resource description below:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>Original Title</dc:title>
<dc:description>A short description of this resource</dc:description>
</rdf:Description>
</rdf:RDF>
A change to the title of the resource is then made:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>New Title</dc:title>
<dc:description>A short description of this resource</dc:description>
</rdf:Description>
</rdf:RDF>
This change is modelled by a ChangeSet describing the removal of the existing dc:title triple and the addition of a new triple with a new value:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cs="http://purl.org/vocab/changeset/schema#">
<cs:ChangeSet rdf:about="http://example.com/res#change1">
<cs:subjectOfChange rdf:resource="http://example.com/res#thing"/>
<cs:createdDate>2006-01-01T00:00:00Z</cs:createdDate>
<cs:creatorName>Anne Onymous</cs:creatorName>
<cs:changeReason>Change of title</cs:changeReason>
<cs:removal>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<rdf:object>Original Title</rdf:object>
</rdf:Statement>
</cs:removal>
<cs:addition>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<rdf:object>New Title</rdf:object>
</rdf:Statement>
</cs:addition>
</cs:ChangeSet>
</rdf:RDF>
Subsequently a dc:identifier property is added to the description:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>New Title</dc:title>
<dc:description>A short description of this resource</dc:description>
<dc:identifier>Z875331</dc:identifier>
</rdf:Description>
</rdf:RDF>
The ChangeSet describes only the addition of the new statement. However this new ChangeSet uses the precedingChangeSet property to reference the first ChangeSet:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cs="http://purl.org/vocab/changeset/schema#">
<cs:ChangeSet rdf:about="http://example.com/res#change2">
<cs:precedingChangeSet rdf:resource="http://example.com/res#change1"/>
<cs:subjectOfChange rdf:resource="http://example.com/res#thing"/>
<cs:createdDate>2006-01-02T00:00:00Z</cs:createdDate>
<cs:creatorName>Anne Onymous</cs:creatorName>
<cs:changeReason>Addition of identifier</cs:changeReason>
<cs:addition>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/identifier"/>
<rdf:object>Z875331</rdf:object>
</rdf:Statement>
</cs:addition>
</cs:ChangeSet>
</rdf:RDF>
Later on the description is removed and a new ChangeSet is created to represent this change:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com/res#thing"/>
<dc:title>New Title</dc:title>
<dc:identifier>Z875331</dc:identifier>
</rdf:Description>
</rdf:RDF>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cs="http://purl.org/vocab/changeset/schema#">
<cs:ChangeSet rdf:about="http://example.com/res#change3">
<cs:precedingChangeSet rdf:resource="http://example.com/res#change2"/>
<cs:subjectOfChange rdf:resource="http://example.com/res#thing"/>
<cs:createdDate>2006-01-03T00:00:00Z</cs:createdDate>
<cs:creatorName>Anne Onymous</cs:creatorName>
<cs:changeReason>Removal of description</cs:changeReason>
<cs:removal>
<rdf:Statement>
<rdf:subject rdf:resource="http://example.com/res#thing"/>
<rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/description"/>
<rdf:object>A short description of this resource</rdf:object>
</rdf:Statement>
</cs:removal>
</cs:ChangeSet>
</rdf:RDF>
This example shows how a history of changes can be used to implement an "undo" or "rollback" of changes to a particular resource description. The three changes from the "Linked ChangeSets" example and a series of subsequent ChangeSets are shown below in Turtle syntax:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix cs: <http://purl.org/vocab/changeset/schema#>
@prefix ex: <http://example.com/res#>
<ex:change1>
a cs:ChangeSet ;
cs:subjectOfChange ex:thing ;
cs:createdDate "2006-01-01T00:00:00Z" ;
cs:creatorName "Anne Onymous" ;
cs:changeReason "Change of title" ;
cs:removal [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:title ;
rdf:object "Original Title" .
] ;
cs:addition [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:title ;
rdf:object "New Title" .
] .
<ex:change2>
a cs:ChangeSet ;
cs:precedingChangeSet ex:change1 ;
cs:subjectOfChange ex:thing ;
cs:createdDate "2006-01-02T00:00:00Z" ;
cs:creatorName "Anne Onymous" ;
cs:changeReason "Addition of identifier" ;
cs:addition [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:identifier ;
rdf:object "Z875331" .
] .
<ex:change3>
a cs:ChangeSet ;
cs:precedingChangeSet ex:change2 ;
cs:subjectOfChange ex:thing ;
cs:createdDate "2006-01-03T00:00:00Z" ;
cs:creatorName "Anne Onymous" ;
cs:changeReason "Removal of description" ;
cs:removal [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:descripton ;
rdf:object "A short description of this resource" .
] .
<ex:change4>
a cs:ChangeSet ;
cs:precedingChangeSet ex:change3 ;
cs:subjectOfChange ex:thing ;
cs:createdDate "2006-01-04T00:00:00Z" ;
cs:creatorName "Anne Onymous" ;
cs:changeReason "New description" ;
cs:addition [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:descripton ;
rdf:object "Revised description of resource" .
] .
<ex:change5>
a cs:ChangeSet ;
cs:precedingChangeSet ex:change4 ;
cs:subjectOfChange ex:thing ;
cs:createdDate "2006-01-05T00:00:00Z" ;
cs:creatorName "Anne Onymous" ;
cs:changeReason "Added creator and date" ;
cs:addition [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:creator ;
rdf:object "Jim Bo" .
] ;
cs:addition [
a rdf:Statement ;
rdf:subject ex:thing ;
rdf:predicate dc:date ;
rdf:object "2004-03-12T14:22:10Z" .
] .
The current version of the description is shown here, also in Turtle:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix cs: <http://purl.org/vocab/changeset/schema#>
@prefix ex: <http://example.com/res#>
<ex:thing>
dc:title "New Title" ;
dc:identifier "Z875331" ;
dc:description "Revised description of resource" ;
dc:creator "Jim Bo" ;
dc:date "2004-03-12T14:22:10Z" .
The ChangeSets form an ordered list representing the version history of the resource description. A hypothetical
user interface could present these changes, ordered using the precedingChangeSet property. Selecting a ChangeSet
could result in the undoing of all changes up to that point. For the most recent ChangeSet this operation is simply
a matter of removing all additions and adding all removals specified in the ChangeSet. Rolling back more than one ChangeSet
involves reversing the effects of each ChangeSet in reverse chronological order. For example if the user requested a rollback
up to and including the ChangeSet identified by ex:change3
then the additions and removals of
ex:change5
would first have to be reversed, followed by those of the ChangeSet referenced by its
precedingChangeSet property, ex:change4
, and finally those of ex:change3
The schema included here is informational only. The normative schema can be found at http://purl.org/vocab/changeset/schema-20060321.rdf
<rdf:RDF
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dctype="http://purl.org/dc/dcmitype/"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:vann="http://purl.org/vocab/vann/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology
rdf:about=""
dc:date="2006-03-21">
<dc:title xml:lang="en">Changeset</dc:title>
<rdfs:comment xml:lang="en">
This vocabulary defines a set of terms for describing changes to
resource descriptions.
</rdfs:comment>
<rdfs:comment xml:lang="en">
The vocabulary introduces the notion of a ChangeSet which encapsulates
the delta between two versions of a resource description. In this
context a resource description is the set of triples that in some way
comprise a description of a resource. The delta is represented by two
sets of triples: additions and removals. A ChangeSet can be used to
modify a resource description by first removing all triples from the
description that are in the removals set and adding the triples in the
additions set.
</rdfs:comment>
<dc:identifier>http://purl.org/vocab/changeset/schema-20060321</dc:identifier>
<dct:isVersionOf rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<dc:creator>Sam Tunnicliffe</dc:creator>
<dc:creator>Ian Davis <http://purl.org/NET/iand></dc:creator>
<dc:rights>Copyright © 2005 Talis Information Ltd.</dc:rights>
<dct:replaces rdf:resource="http://purl.org/vocab/changeset/schema-20051214"/>
<vann:preferredNamespaceUri>http://purl.org/vocab/changeset/schema#</vann:preferredNamespaceUri>
<vann:preferredNamespacePrefix>cs</vann:preferredNamespacePrefix>
<vann:example
rdf:resource="./changesets-example-20060321.html"
dc:title="A Simple ChangeSet"/>
<vann:example
rdf:resource="./changesets-example2-20060321.html"
dc:title="Linked ChangeSets"/>
<vann:example
rdf:resource="./changesets-example3-20060321.html"
dc:title="Implementing Undo With ChangeSets"/>
<dct:hasFormat>
<dctype:Text rdf:about="http://purl.org/vocab/changeset/schema-20060321.html">
<dc:format>
<dct:IMT>
<rdf:value>text/html</rdf:value>
<rdfs:label xml:lang="en">HTML</rdfs:label>
</dct:IMT>
</dc:format>
</dctype:Text>
</dct:hasFormat>
<dct:hasFormat>
<dctype:Text rdf:about="http://purl.org/vocab/changeset/schema-20060321.rdf">
<dc:format>
<dct:IMT>
<rdf:value>application/rdf+xml</rdf:value>
<rdfs:label xml:lang="en">RDF</rdfs:label>
</dct:IMT>
</dc:format>
</dctype:Text>
</dct:hasFormat>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Improved documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Introduced statement property"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:changeNote
rdf:value="Fixed invalid RDF"
dc:date="2006-06-23"
dc:creator="Ian Davis"/>
</owl:Ontology>
<owl:ObjectProperty rdf:about="http://purl.org/vocab/changeset/schema#statement">
<rdfs:label xml:lang="en">statement</rdfs:label>
<skos:definition xml:lang="en">a triple included in this set of changes</skos:definition>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
<dct:issued>2006-03-21</dct:issued>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="http://purl.org/vocab/changeset/schema#addition">
<rdfs:label xml:lang="en">addition</rdfs:label>
<skos:definition xml:lang="en">a triple to be added to the resource description</skos:definition>
<rdfs:comment xml:lang="en">
By convention the subject of the triple being added should be the same
as the subjectOfChange
</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="http://purl.org/vocab/changeset/schema#statement"/>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Added definitition and documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made owl:ObjectProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made a sub-property of statement"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="http://purl.org/vocab/changeset/schema#removal">
<rdfs:label xml:lang="en">removal</rdfs:label>
<skos:definition xml:lang="en">a triple to be removed from the resource description</skos:definition>
<rdfs:comment xml:lang="en">
By convention the subject of the triple being removed should be the same
as the subjectOfChange
</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="http://purl.org/vocab/changeset/schema#statement"/>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Added definitition and documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made owl:ObjectProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made a sub-property of statement"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="http://purl.org/vocab/changeset/schema#subjectOfChange">
<rdfs:label xml:lang="en">subjectOfChange</rdfs:label>
<skos:definition xml:lang="en">the resource to which this set of changes applies</skos:definition>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Added definitition and documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made owl:ObjectProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="http://purl.org/vocab/changeset/schema#precedingChangeSet">
<rdfs:label xml:lang="en">precedingChangeSet</rdfs:label>
<skos:definition xml:lang="en">the changeset that immediately precedes this one</skos:definition>
<rdfs:comment xml:lang="en">
This property can be used to build a history of changes to a particular
resource description. The first ChangeSet in the history will have no
precedingChangeSet property. Each subsequent ChangeSet added to the
history references the preceding one resulting in a singly-linked list
of changes. Care must be taken not to introduce cycles in the history.
</rdfs:comment>
<rdfs:comment xml:lang="en">
In systems that assume a closed world, the most recent ChangeSet for a
particular resource description can be discovered by looking for the
ChangeSet that is not the value of a precedingChangeSet property.
Conversely, the earliest ChangeSet is the one that is not the subject of
a precedingChangeSet property.
</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Added definitition and documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Made owl:ObjectProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="http://purl.org/vocab/changeset/schema#createdDate">
<rdfs:label xml:lang="en">createdDate</rdfs:label>
<skos:definition xml:lang="en">the date that the changeset was created</skos:definition>
<rdfs:comment xml:lang="en">The date should be in W3CDTF format</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/date"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<dct:issued>2005-12-14</dct:issued>
<skos:historyNote
rdf:value="Made owl:DatatypeProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="http://purl.org/vocab/changeset/schema#changeReason">
<rdfs:label xml:lang="en">changeReason</rdfs:label>
<skos:definition xml:lang="en">
a short, human readable description of the purpose for the changeset
</skos:definition>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
<dct:issued>2005-12-14</dct:issued>
<skos:historyNote
rdf:value="Made owl:DatatypeProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="http://purl.org/vocab/changeset/schema#creatorName">
<rdfs:label xml:lang="en">creatorName</rdfs:label>
<skos:definition xml:lang="en">
the name of the entity responsible for creating the changeset
</skos:definition>
<rdfs:domain rdf:resource="http://purl.org/vocab/changeset/schema#ChangeSet"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
<dct:issued>2005-12-14</dct:issued>
<skos:historyNote
rdf:value="Made owl:DatatypeProperty"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
</owl:DatatypeProperty>
<owl:Class rdf:about="http://purl.org/vocab/changeset/schema#ChangeSet">
<rdfs:label xml:lang="en">ChangeSet</rdfs:label>
<skos:definition xml:lang="en">
The encapsulation of a delta between two versions of a resource
description
</skos:definition>
<rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/changeset/schema#"/>
<dct:issued>2005-12-14</dct:issued>
<skos:changeNote
rdf:value="Improved documentation"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<skos:historyNote
rdf:value="Added property cardinality restrictions"
dc:date="2006-03-21"
dc:creator="Ian Davis"/>
<rdfs:subClassOf>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#statement"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#previousChangeSet"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:maxCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#subjectOfChange"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:maxCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#createdDate"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:maxCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#creatorName"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:maxCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/vocab/changeset/schema#changeReason"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</rdfs:subClassOf>
</owl:Class>
</rdf:RDF>