forked from ldbc/ldbc_snb_interactive_v1_impls
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbi-11.sparql
51 lines (46 loc) · 1.6 KB
/
bi-11.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
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 ?tagName (SUM(?likeValue) AS ?likeCount) (COUNT(DISTINCT ?reply) AS ?replyCount)
WHERE
{
{
SELECT ?reply
WHERE
{
?reply a snvoc:Comment .
?reply snvoc:content ?content .
FILTER( !REGEX(?content, $blacklist) )
?reply snvoc:hasCreator ?personId .
?personId a snvoc:Person .
?personId snvoc:isLocatedIn/snvoc:isPartOf/foaf:name $country .
?reply snvoc:hasTag ?tag .
?reply snvoc:replyOf ?original .
OPTIONAL {
?original snvoc:hasTag ?tag
BIND(1 AS ?commonTagCount)
}
}
GROUP BY ?reply
HAVING (SUM(COALESCE(?commonTagCount,0)) = 0)
}
?reply snvoc:hasTag ?tag .
?tag foaf:name ?tagName .
?personId a snvoc:Person .
?reply snvoc:hasCreator ?personId .
OPTIONAL {
?personIdWhoLiked a snvoc:Person .
?personIdWhoLiked snvoc:likes ?like .
?like snvoc:hasComment ?reply .
BIND(1 AS ?likeValue)
}
}
GROUP BY ?personId ?tagName
ORDER BY DESC(?likeCount) ?personId ?tagName
LIMIT 100