Last active
September 6, 2016 11:32
-
-
Save tomahock/443900f65589f8456a69f6b88afcb948 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= Y | |
:neo4j-version: 2.3.0 | |
:author: Tomahock | |
:twitter: @tomahock | |
:style: red:ARTICLE(desc) blue:SOURCE(desc) green:ARTICLE(desc) | |
== Introduction | |
Artigos - Vermelho | |
Sources - Azul | |
Tags - Verde | |
== Setup | |
//setup | |
//hide | |
[source,cypher] | |
---- | |
CREATE | |
(:ARTICLE {solr_id:"510728189", score: 123456, sentiment: 123, desc: "Luisão fala mal do Benfica"}), | |
(:ARTICLE {solr_id:"510728190", score: 123466, sentiment: 123, desc: "Luisão Descontente no Benfica"}), | |
(:ARTICLE {solr_id:"510728191", score: 123476, sentiment: 123, desc: "Adrian fica no Sporting!"}), | |
(:ARTICLE {solr_id:"510728192", score: 123486, sentiment: 123, desc: "Jorge Jesus dá entrevista"}), | |
(:ARTICLE {solr_id:"510728193", score: 123486, sentiment: 123, desc: "Sporting Vence campeonato de Futsal"}), | |
(:SOURCE {solr_id:"510122639", desc:"Record"}), | |
(:SOURCE {solr_id:"510122640", desc:"Jogo"}), | |
(:SOURCE {solr_id:"510122641", desc:"Bola"}), | |
(:TAG {solr_id:"510122730", desc: "benfica"}), | |
(:TAG {solr_id:"510122731", desc: "futebol"}), | |
(:TAG {solr_id:"510122733", desc: "capitao"}), | |
(:TAG {solr_id:"510122734", desc: "sporting"}), | |
(:TAG {solr_id:"510122735", desc: "futsal"}) | |
WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728189"}), (i:SOURCE {solr_id:"510122639"}) CREATE (e)<-[:PUBLISHED]-(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728190"}), (i:SOURCE {solr_id:"510122640"}) CREATE (e)<-[:PUBLISHED]-(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728191"}), (i:SOURCE {solr_id:"510122641"}) CREATE (e)<-[:PUBLISHED]-(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728192"}), (i:SOURCE {solr_id:"510122639"}) CREATE (e)<-[:PUBLISHED]-(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728189"}), (i:ARTICLE {solr_id:"510728190"}) CREATE (e)<-[:SIMILAR]-(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728189"}), (i:TAG {solr_id:"510122730"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728189"}), (i:TAG {solr_id:"510122731"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728189"}), (i:TAG {solr_id:"510122733"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728190"}), (i:TAG {solr_id:"510122730"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728190"}), (i:TAG {solr_id:"510122731"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728190"}), (i:TAG {solr_id:"510122733"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728191"}), (i:TAG {solr_id:"510122731"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728191"}), (i:TAG {solr_id:"510122733"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728191"}), (i:TAG {solr_id:"510122734"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728192"}), (i:TAG {solr_id:"510122731"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728192"}), (i:TAG {solr_id:"510122734"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728193"}), (i:TAG {solr_id:"510122735"}) CREATE (e)-[:HAS_TAG]->(i) WITH count(*) as dummy | |
MATCH (e:ARTICLE {solr_id:"510728193"}), (i:TAG {solr_id:"510122734"}) CREATE (e)-[:HAS_TAG]->(i) | |
---- | |
== Geral | |
[source,cypher] | |
---- | |
MATCH (n)-[r]->(e) | |
RETURN n, r, e | |
---- | |
//graph_result | |
== Começando num artigo, quero similares | |
[source,cypher] | |
---- | |
MATCH (n:ARTICLE {solr_id:'510728189'})-[r:SIMILAR]-(e:ARTICLE) | |
RETURN e | |
---- | |
//graph_result | |
== Pegando numa TAG quero artigos ordenados por score | |
[source,cypher] | |
---- | |
MATCH (n:TAG {solr_id:"510122733"})<-[r:HAS_TAG]->(e:ARTICLE) | |
RETURN e | |
ORDER BY e.score DESC | |
---- | |
//graph_result | |
== Pegando num artigo, quero artigos recomendados baseados em tags e ordenado por scores | |
[source,cypher] | |
---- | |
MATCH (n:ARTICLE {solr_id:'510728192'})-[r:HAS_TAG]->(t), | |
(t)<-[]-(m) | |
RETURN DISTINCT m | |
ORDER BY m.score DESC | |
---- | |
//graph_result | |
== Pegando num artigo, quero artigos similares que não seja da mesma source | |
[source,cypher] | |
---- | |
MATCH (n:ARTICLE {solr_id:'510728189'})<-[r:PUBLISHED]-(t), | |
(n)-[:SIMILAR]-(m) | |
OPTIONAL MATCH (m)<-[rel:PUBLISHED]-(t) | |
WHERE rel is null | |
RETURN DISTINCT m | |
ORDER BY m.score DESC | |
---- | |
//graph_result | |
// optional Footer | |
--- | |
Created by Tomahock - https://twitter.com/tomahock[Twitter] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment