ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
1
ExplanationA unique ID of the requirement.A user story based on a concrete user role and scenario which demands this requirement.The requirement formulated as competency question which the KG should support answering.One possible formal representation of this requirement based on a chosen data model, thus based on a solution.Already existing data needs to be lifted to a KG, from which available data source and using which mappings are needed terms processed.
2
CategoryCompetency Question IDUser story IDCQFormal questionWhere addressed?
3
Data SourceMappingMapping file
4
Collectionscq-collections-111How many collections exist?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX schema: <http://schema.org/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>


SELECT (COUNT(?cho) as ?count)
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatesCHO ?cho .

?cho a dcmitype:Collection ;
dc:title ?collectionTitle .

FILTER ( !EXISTS {
?cho prov:specializationOf ?o .
})

}
DBcollectionsCHOcollection-provenance.yml
5
cq-collections-211When was a new collection version created?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX schema: <http://schema.org/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>


SELECT ?collectionTitle ?creation
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatesCHO ?choVersion .

?choVersion a dcmitype:Collection ;
dc:title ?collectionTitle ;
prov:specializationOf ?cho ;
prov:generatedAtTime ?creation .

}
DBcollectionsCHOVersionscollection-provenance.yml
6
Harvestscq-harvest-1How many harvests does a collection version have?DBharvests
7
cq-harvest-2What was the time and date of a collection's harvest?DBharvests
8
cq-harvest-3What is the data range (start date and end date) of a collection's harvest?DBharvests
9
cq-harvest-4Which harvests contributed to which collection?DBharvests
10
cq-seeds-16Which versions of seeds exist?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT DISTINCT ?seed ?seedVersion
WHERE {

# harvests can only be distinguished from other activities based on their name
?harvest a prov:Activity ;
dc:title ?harvestName ;
prov:used ?seedCollection .

FILTER ( strStarts(?harvestName, "Harvest") ) .

# seed versions can only be identified because they are members of harvests
?seedCollection a prov:Collection ;
prov:hadMember ?seedVersion .

?seedVersion prov:specializationOf ?seed .

}
DB
11
Seedscq-seeds-29Which are the seeds used by a harvest?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?harvest ?seedVersion
WHERE {

# harvests can only be distinguished from other activities based on their name
?harvest a prov:Activity ;
dc:title ?harvestName ;
prov:used ?seedCollection .

FILTER ( strStarts(?harvestName, "Harvest") ) .

# seed versions can only be identified because they are members of harvests
?seedCollection a prov:Collection ;
prov:hadMember ?seedVersion .

?seedVersion prov:specializationOf ?seed .

}
DBseeds
12
cq-seeds-37,10Which seeds where used when for a collection version?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX premis: <http://www.loc.gov/premis/rdf/v3/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT DISTINCT ?seedVersion ?harvestStart ?file ?representationVersion ?representation ?cho
WHERE {

?file a premis:File ;
prov:wasGeneratedBy ?harvest ;
dcterms:isPartOf ?representationVersion .

?representationVersion a edm:WebResource ;
prov:specializationOf ?representation .

?aggregation a edm:Aggregation ;
edm:aggregatedCHO ?cho ;
edm:hasView ?representation .

?cho a dcmitype:Collection .


?harvest a prov:Activity ;
dc:title ?harvestName ;
prov:startedAtTime ?harvestStart ;
prov:used ?seedCollection .


?seedCollection a prov:Collection ;
prov:hadMember ?seedVersion .

?seedVersion prov:specializationOf ?seed .

}
DBseeds
13
Representationscq-representations-15Which representations of a collection exist?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?cho ?mimeType ?name
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatedCHO ?cho ;
edm:hasView ?representation .

?cho a dcmitype:Collection .

?representation a edm:WebResource ;
dc:title ?name ;
ebucore:hasMimeType ?mimeType

# we do not want versions
FILTER ( !EXISTS {
?representation prov:specializationOf ?o
})

}
14
cq-representations-218Which representations of a collection version exist?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?choVersion ?mimeType ?name
WHERE {

?aggregationVersion a edm:Aggregation ;
edm:aggregatedCHO ?choVersion ;
edm:hasView ?representationVersion .

?choVersion a dcmitype:Collection ;
prov:specializationOf ?cho .

?representationVersion a edm:WebResource ;
dc:title ?name ;
ebucore:hasMimeType ?mimeType .

}
15
cq-representations-310When were the files of collection's representations versions harvested?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
PREFIX ebucore: <https://www.ebu.ch/metadata/ontologies/ebucore#>
PREFIX premis: <http://www.loc.gov/premis/rdf/v3/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?choVersion ?representationVersion ?filename ?generationTime
WHERE {

?aggregationVersion a edm:Aggregation ;
edm:aggregatedCHO ?choVersion ;
edm:hasView ?representationVersion .

?choVersion a dcmitype:Collection ;
prov:specializationOf ?cho .

?representationVersion a edm:WebResource ;
dc:title ?name ;
ebucore:hasMimeType ?mimeType .

?file a premis:File ;
dc:title ?filename ;
prov:generatedAtTime ?generationTime .

}
16
ItemsCQ-Items-113Which representations of a collection item exist?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX schema: <http://schema.org/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?cho ?representationName
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatesCHO ?cho ;
edm:hasView ?representation .

?cho a schema:SocialMediaPosting .

?representation a edm:WebResource ;
dc:title ?representationName .

}
17
CQ-Items-217When was a representation of a collection item harvested?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX premis: <http://www.loc.gov/premis/rdf/v3/>
PREFIX schema: <http://schema.org/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?cho ?representationName ?filename ?generationTime
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatesCHO ?cho ;
edm:hasView ?representation .

?cho a schema:SocialMediaPosting .

?representation a edm:WebResource ;
dc:title ?representationName ;
dcterms:isPartOf ?httpResponse .

?httpResponse dcterms:isPartOf ?file .

?file a premis:File ;
dc:title ?filename ;
dcterms:isPartOf ?representationVersion ;
prov:generatedAtTime ?generationTime .

}
18
Items contextcq-items-context-115Which named entities were extracted from a collection item?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?post ?ne
WHERE {

?derivation a prov:Derivation ;
prov:entity ?namedEntities ;
prov:hadActivity ?nerActivity .

?namedEntities a prov:Collection ;
prov:hadMember ?ne .

?nerActivity a prov:Activity ;
dc:description ?componentDescription ;
prov:used ?cho .

?cho a edm:ProvidedCHO ;
dc:title ?post .
}
19
cq-items-context-216Which component was used to extract the named entities?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT ?post ?ne ?componentTitle
WHERE {

?derivation a prov:Derivation ;
prov:entity ?namedEntities ;
prov:hadActivity ?nerActivity .

?namedEntities a prov:Collection ;
prov:hadMember ?ne .

?nerActivity a prov:Activity ;
dc:title ?componentTitle ;
prov:used ?cho .

?cho a edm:ProvidedCHO ;
dc:title ?post .

}
20
cq-items-context-38Which file contains content of a user?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX premis: <http://www.loc.gov/premis/rdf/v3/>
PREFIX schema: <http://schema.org/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT DISTINCT ?username ?filename
WHERE {

?aggregation a edm:Aggregation ;
edm:aggregatesCHO ?cho ;
edm:hasView ?representation .

?cho a schema:SocialMediaPosting ;
dc:creator ?creator .

?creator sioc:name ?username .

?representation a edm:WebResource ;
dc:title ?representationName ;
dcterms:isPartOf ?httpResponse .

?httpResponse dcterms:isPartOf ?file .

?file a premis:File ;
premis:originalName ?filename ;
dcterms:isPartOf ?representationVersion ;
prov:generatedAtTime ?generationTime .

}
21
cq-items-context-414What are the extracted named entities of a collection?PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX http: <http://www.w3.org/2011/http#>
PREFIX premis: <http://www.loc.gov/premis/rdf/v3/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX bsd: <http://example.org/ns/besocial/data#>

SELECT DISTINCT ?collectionName ?ne
WHERE {

#
# retrieve named Entities via prov derivations
#
?derivation a prov:Derivation ;
prov:entity ?namedEntities ;
prov:hadActivity ?nerActivity .

?namedEntities a prov:Collection ;
prov:hadMember ?ne .

?nerActivity a prov:Activity ;
dc:description ?componentDescription ;
prov:used ?itemCHO .

#
# retrieve collection via representation, HTTP response and WARC file
#
?itemAggregation a edm:Aggregation ;
edm:hasView ?itemRepresentation ;
edm:aggregatesCHO ?itemCHO .

?itemRepresentation a edm:WebResource ;
dcterms:isPartOf ?response .

?response a http:Response ;
dcterms:isPartOf ?warcFile .

?warcFile a premis:File ;
dcterms:isPartOf ?collectionRepresentationVersion .

?collectionRepresentationVersion a edm:WebResource ;
prov:specializationOf ?representation .

?aggregation a edm:Aggregation ;
edm:hasView ?representation ;
edm:aggregatesCHO ?collectionCHO .

?collectionCHO a edm:ProvidedCHO ;
dc:title ?collectionName .
}
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100