forked from ldbc/ldbc_snb_interactive_v1_impls
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbi-5.sparql
65 lines (62 loc) · 2.17 KB
/
bi-5.sparql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
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#>
PREFIX sn: <http://www.ldbc.eu/ldbc_socialnet/1.0/data/>
PREFIX snvoc: <http://www.ldbc.eu/ldbc_socialnet/1.0/vocabulary/>
PREFIX sntag: <http://www.ldbc.eu/ldbc_socialnet/1.0/tag/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?personId ?personFirstName ?personLastName ?personCreationDate (COUNT(DISTINCT ?post) AS ?postCount)
WHERE
{
{
SELECT ?forum
WHERE
{
?forum a snvoc:Forum .
?forum snvoc:hasMember ?memberSerial .
?memberSerial snvoc:hasPerson ?personId .
?personId a snvoc:Person .
?personId snvoc:isLocatedIn ?city .
?city a dbpedia-owl:City .
?city snvoc:isPartOf ?country .
?country a dbpedia-owl:Country .
?country foaf:name $country
}
GROUP BY ?forum
ORDER BY DESC(COUNT(DISTINCT ?personId)) ?forum
LIMIT 100
}
{
SELECT ?forum2
WHERE
{
?forum2 a snvoc:Forum .
?forum2 snvoc:hasMember ?memberSerial .
?memberSerial snvoc:hasPerson ?personId .
?personId a snvoc:Person .
?personId snvoc:isLocatedIn ?city .
?city a dbpedia-owl:City .
?city snvoc:isPartOf ?country .
?country a dbpedia-owl:Country .
?country foaf:name $country
}
GROUP BY ?forum2
ORDER BY DESC(COUNT(DISTINCT ?personId)) ?forum2
LIMIT 100
}
?personId a snvoc:Person .
?forum snvoc:hasMember/snvoc:hasPerson ?personId .
OPTIONAL {
?post a snvoc:Post .
?post snvoc:hasCreator ?personId .
?forum2 snvoc:containerOf ?post .
}
?personId snvoc:firstName ?personFirstName .
?personId snvoc:lastName ?personLastName .
?personId snvoc:creationDate ?personCreationDate
}
GROUP BY ?personId ?personFirstName ?personLastName ?personCreationDate
ORDER BY DESC(?postCount) ?personId
LIMIT 100