PREFIX dsn: <http://purl.org/dsnotify/vocab/eventset/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<http://linkedevents.org/ontology/Event> a rdfs:Class .

dsn:UnknownEvent a rdfs:Class ;
  rdfs:label "Unknown event"@en-us ;
  rdfs:comment "An event class describing that a not further specified event occurred to a resource in a dataset. "@en-us ;
  rdfs:subClassOf dsn:ResourceChangeEvent .

dsn:hasAffectedTriples a rdf:Property ;
  rdfs:label "has affected triples"@en-us ;
  rdfs:comment "A link to a resource that further specifies the actual triples that were added/removed in consequence of the respective ResourceChangeEvent. For example one could attach a Talis changeset here. This property is under-specified in this version on purpose."@en-us ;
  rdfs:domain dsn:ResourceChangeEvent ;
  rdfs:range <https://w3id.org/linkml/Any> .

dsn:hasReason a rdf:Property ;
  rdfs:label "has reason"@en-us ;
  rdfs:comment "A link to a resource that further specifies the reason for the respective ResourceChangeEvent. For example one could attach a textual description or link to another event here. This property is under-specified in this version on purpose."@en-us ;
  rdfs:domain dsn:ResourceChangeEvent ;
  rdfs:range <https://w3id.org/linkml/Any> .

dsn:hasConfidence a rdf:Property ;
  rdfs:label "has confidence"@en-us ;
  rdfs:comment "Optional property for capturing the confidence (a float value between 0 and 1) the event detecting actor has that the corresponding event really took place. If omited, applications should assume a confidence of 1.0."@en-us ;
  rdfs:domain dsn:ResourceChangeEvent ;
  rdfs:range xsd:float .

dsn:targetResource a rdf:Property ;
  rdfs:label "target resource"@en-us ;
  rdfs:comment "The identifier (URI) of a resource that was affected by the corresponding event."@en-us ;
  rdfs:domain dsn:ResourceChangeEvent ;
  rdfs:range xsd:anyURI .

dsn:UpdateEvent a rdfs:Class ;
  rdfs:label "Update event"@en-us ;
  rdfs:comment "An event class describing that a particular resource was 'updated' in a dataset. This means that some triples having the associated resource as subject or object were modified/created/removed in the corresponding RDF model."@en-us ;
  rdfs:subClassOf dsn:ResourceChangeEvent .

dsn:MoveEvent a rdfs:Class ;
  rdfs:label "Move event"@en-us ;
  rdfs:comment "An event class describing that a particular resource was 'moved' in a dataset or between datasets. This means that all triples having the associated older resource as subject/object were replaced by triples having the target resource as subject/object in the corresponding RDF models. "@en-us ;
  rdfs:subClassOf dsn:ResourceChangeEvent .

dsn:sourceResource a rdf:Property ;
  rdfs:label "source resource"@en-us ;
  rdfs:comment "The identifier (URI) of a resource that was published under a new URI (i.e., when a MoveEvent occurred)."@en-us ;
  rdfs:domain dsn:MoveEvent ;
  rdfs:range xsd:anyURI .

<http://purl.org/NET/scovo#Dimension> a rdfs:Class .

dsn:RemoveEvent a rdfs:Class ;
  rdfs:label "Remove event"@en-us ;
  rdfs:comment "An event class describing that a particular resource was 'removed' from a dataset. This means that all triples having the associated resource as subject or object were removed from the corresponding RDF model."@en-us ;
  rdfs:subClassOf dsn:ResourceChangeEvent .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en-us .

<http://rdfs.org/ns/void#Dataset> a rdfs:Class .

dsn:ResourceChangeEvent a rdfs:Class ;
  rdfs:label "Resource change event"@en-us ;
  rdfs:comment "An event that changes the representations of a resource in an RDF dataset. ResourceChangeEvents are lode:Events and the lode:atTime or the lode:circa properties should be used to describe the time when the event took place."@en-us ;
  rdfs:subClassOf <http://linkedevents.org/ontology/Event> , <http://purl.org/NET/scovo#Dimension> .

dsn:CreateEvent a rdfs:Class ;
  rdfs:label "create event"@en-us ;
  rdfs:comment "An event class describing that a particular resource was 'created' in a dataset. This means that one or more triples having the associated resource as subject or object were created in the corresponding RDF model."@en-us ;
  rdfs:subClassOf dsn:ResourceChangeEvent .

dsn:Eventset a rdfs:Class ;
  rdfs:label "Eventset"@en-us ;
  rdfs:comment "An eventset is a container of events that occur in a dataset."@en-us ;
  rdfs:subClassOf <http://rdfs.org/ns/void#Dataset> .

dsn:targetDataset a rdf:Property ;
  rdfs:label "target dataset"@en-us ;
  rdfs:comment """A void:Dataset that is considered as 'target' dataset of the associated eventset. When the eventset is 'complete' and all events are applied in their timely order to the corresponding source dataset(s), this dataset (and all other target datasets) should be the result.
Example: a static snapshot of a dataset at time t0+delta, e.g., the DBpedia snapshot 3.3"""@en-us ;
  rdfs:domain dsn:Eventset ;
  rdfs:range <http://rdfs.org/ns/void#Dataset> .

dsn:sourceDataset a rdf:Property ;
  rdfs:label "source dataset"@en-us ;
  rdfs:comment """A void:Dataset that is considered as 'source' dataset of the associated eventset. When the eventset is 'complete' and all events in this  eventset are applied in their timely order to this and all other source datasets, it will become equal to the corresponding target dataset(s).
Example: a static snapshot of a dataset at time t0, e.g., the DBpedia snapshot 3.2"""@en-us ;
  rdfs:domain dsn:Eventset ;
  rdfs:range <http://rdfs.org/ns/void#Dataset> .

dsn:hasEvent a rdf:Property ;
  rdfs:label "has event"@en-us ;
  rdfs:comment "An event that is part of an eventset."@en-us ;
  rdfs:domain dsn:Eventset ;
  rdfs:range <http://linkedevents.org/ontology/Event> .
