Skip to content

Instantly share code, notes, and snippets.

View ikwattro's full-sized avatar

Christophe Willemsen ikwattro

View GitHub Profile
Round Date Team 1 FT HT Team 2
1 (Fri) 11 Aug 2017 (32) Arsenal FC 4-3 2-2 Leicester City FC
1 (Sat) 12 Aug 2017 (32) Brighton & Hove Albion FC 0-2 0-0 Manchester City FC
1 (Sat) 12 Aug 2017 (32) Chelsea FC 2-3 0-3 Burnley FC
1 (Sat) 12 Aug 2017 (32) Crystal Palace FC 0-3 0-2 Huddersfield Town AFC
@ikwattro
ikwattro / content.json
Created July 30, 2018 13:53
GKP ES index
{"took":4,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":140,"max_score":1.0,"hits":[{"_index":"documents","_type":"documents","_id":"1583e58d-93fb-11e8-9133-b630aa296667","_score":1.0,"_source":{"keywords":[{"score":1.0,"value":"incredible datum source"},{"score":0.8740276985632897,"value":"heterogeneous biological datum"},{"score":0.8660201774065337,"value":"datum source"},{"score":0.5607271616408498,"value":"batch importer"},{"score":0.4324037082232962,"value":"research arm"},{"score":0.40140374839319426,"value":"gigantic graph"},{"score":0.3802973686515041,"value":"first time"},{"score":0.38014363343342666,"value":"csv file"},{"score":0.3616156120916232,"value":"cypher query"},{"score":0.3616156120916232,"value":"next generation"},{"score":0.3609459065770126,"value":"neo4j"},{"score":0.34879835843755574,"value":"large graph"},{"score":0.34049163631799256,"value":"text mining"},{"score":0.27726250538402347,"value":"happy"},{"score":0.25983900689817496,"value":
{
"node": {
"diameter": "50px",
"color": "#A5ABB6",
"border-color": "#9AA1AC",
"border-width": "2px",
"text-color-internal": "#FFFFFF",
"font-size": "10px"
},
"relationship": {

Perform summarization

MATCH (a:AnnotatedText)
CALL ga.nlp.ml.textRank.summarize({annotatedText: a}) YIELD result
RETURN result
MATCH (n:VideoTranscript {path:"/Users/ikwattro/dev/_transcript/Intro to Graph Databases Episode #6 - Continuing with Cypher-Kv_HP6C2qes.en.vtt"})-[:HAS_ANNOTATED_TEXT]->(a)
match (a)-[:CONTAINS_SENTENCE]->(s:Sentence)
with a, count(*) as nSentences
match (a)-[:CONTAINS_SENTENCE]->(s:Sentence)-[:HAS_TAG]->(t:Tag)
with a, s, count(distinct t) as nTags, (CASE WHEN nSentences*0.1 > 10 THEN 10 ELSE toInteger(nSentences*0.1) END) as nLimit
where nTags > 4
with a, s, nLimit
order by s.summaryRank
with a, collect({text: s.text, pos: s.sentenceNumber})[..10] as summary
MATCH (n:VideoTranscript {path: "/Users/ikwattro/dev/_transcript/Knowledge Graph Search with Elasticsearch — L. Misquitta and A. Negro, GraphAware-k8Gu6GMbBtQ.en.vtt"})
WITH n
UNWIND range(60000, 3600000, 60000) AS i
MATCH (n)-[:HAS_CAPTION]->(c)-[:HAS_ANNOTATED_TEXT]->(at)<-[r:DESCRIBES]-(k)
WHERE c.startTimeMS > i - 60000 AND c.endTimeMS < i
WITH n, i, k, sum(r.relevance) AS score
WITH n, i, collect({keyword: k.value, score: score}) AS m
WITH n, i, reverse(apoc.coll.sortMaps(m, 'score'))[0..5] AS m
UNWIND m AS k
MATCH (n:VideoTranscript {path: "/Users/ikwattro/dev/_transcript/Knowledge Graph Search with Elasticsearch — L. Misquitta and A. Negro, GraphAware-k8Gu6GMbBtQ.en.vtt"})
WITH n
UNWIND range(60000, 3600000, 60000) AS i
MATCH (n)-[:HAS_CAPTION]->(c)-[:HAS_ANNOTATED_TEXT]->(at)<-[r:DESCRIBES]-(k)
WHERE c.startTimeMS > i - 60000 AND c.endTimeMS < i
WITH n, i, k, sum(r.relevance) AS score
WITH n, i, collect({keyword: k.value, score: score}) AS m
WITH n, i, reverse(apoc.coll.sortMaps(m, 'score'))[0..5] AS m
RETURN i, apoc.text.join([x in m | x.keyword], ', ') ORDER BY i ASC
MATCH (n:Keyword)-[r:DESCRIBES]->()
RETURN n.value, sum(r.relevance) AS f
ORDER BY f DESC
LIMIT 20
╒═══════════════════════╤══════════════════╕
│"n.value"              │"f"               │
MATCH (n:NER_Person) WHERE size(split(n.value, " ")) > 1 
RETURN n.value, size((n)<-[:HAS_TAG]-()) AS freq
ORDER BY freq DESC

╒═════════════════════════╤══════╕
│"n.value"                │"freq"│