neo4j 显示名字_Neo4j:绘制“我的名字是……我在工作”图

neo4j 显示名字

在过去的几天里,我一直在关注DHH发起的有关“我的名字是……”的推文。 据我了解,其想法是表明在白板上编写采访谜语/艰巨任务是荒谬的。

其他人引用了该推文并添加了自己的文章,昨天Eduardo Hernacki建议遍历这条推文链似乎是为Neo4j量身定制的。

Michael很快就出现在现场,并创建了一个Cypher查询,该查询调用Twitter API并根据生成的JSON响应创建Neo4j图形。 唯一棘手的一点是创建“承载者令牌”,但是Jason Kotchoff有一个很有帮助的要点,展示了如何从您的Twitter使用者密钥和使用者秘密中生成一个。

现在我们已经获得了承载令牌,让我们创建一个参数来存储它。 在Neo4j浏览器中键入以下内容:

:param bearer: '<your-bearer-token-goes-here>'

现在,我们准备查询Twitter API。 我们将从搜索API开始,找到所有包含文本“我的名字”“我在工作”'的推文。 这将返回一个包含大量推文的JSON响应。 然后,我们将为返回的每个推文创建一个节点,为发布该推文的用户创建一个节点,为其引用的推文创建一个节点,并将它们粘合在一起。

我们将使用APOC库中的apoc.load.jsonParams过程来帮助我们导入数据。 如果要继续学习,可以使用安装了APOC的Neo4j沙箱实例 。 对于本地Neo4j安装,在重新启动Neo4j之前,请抓住APOC jar并将其放入您的plugins文件夹中。

这是完整的查询:

WITH 'https://api.twitter.com/1.1/search/tweets.json?count=100&result_type=recent⟨=en&q=' as url, {bearer} as bearerCALL apoc.load.jsonParams(url + "%22my%20name%22%20is%22%20%22I%20work%22",{Authorization:"Bearer "+bearer},null) yield valueUNWIND value.statuses as status
WITH status, status.user as u, status.entities as e
WHERE status.quoted_status_id is not null// create a node for the original tweet
MERGE (t:Tweet {id:status.id}) 
ON CREATE SET t.text=status.text,t.created_at=status.created_at,t.retweet_count=status.retweet_count, t.favorite_count=status.favorite_count// create a node for the author + a POSTED relationship from the author to the tweet
MERGE (p:User {name:u.screen_name})
MERGE (p)-[:POSTED]->(t)// create a MENTIONED relationship from the tweet to any users mentioned in the tweet
FOREACH (m IN e.user_mentions | MERGE (mu:User {name:m.screen_name}) MERGE (t)-[:MENTIONED]->(mu))// create a node for the quoted tweet and create a QUOTED relationship from the original tweet to the quoted one
MERGE (q:Tweet {id:status.quoted_status_id})
MERGE (t)–[:QUOTED]->(q)// repeat the above steps for the quoted tweet
WITH t as t0, status.quoted_status as status WHERE status is not null
WITH t0, status, status.user as u, status.entities as eMERGE (t:Tweet {id:status.id}) 
ON CREATE SET t.text=status.text,t.created_at=status.created_at,t.retweet_count=status.retweet_count, t.favorite_count=status.favorite_countMERGE (t0)-[:QUOTED]->(t)MERGE (p:User {name:u.screen_name})
MERGE (p)-[:POSTED]->(t)FOREACH (m IN e.user_mentions | MERGE (mu:User {name:m.screen_name}) MERGE (t)-[:MENTIONED]->(mu))MERGE (q:Tweet {id:status.quoted_status_id})
MERGE (t)–[:QUOTED]->(q);

生成的图形如下所示:

MATCH p=()-[r:QUOTED]->() RETURN p LIMIT 25

一个更有趣的查询是找到从DHH到Eduardo的路径,我们可以通过以下查询找到该路径:

match path = (dhh:Tweet {id: 834146806594433025})<-[:QUOTED*]-(eduardo:Tweet{id: 836400531983724545})
UNWIND NODES(path) AS tweet
MATCH (tweet)<-[:POSTED]->(user)
RETURN tweet, user

该查询:

  • 从DHH的推文开始
  • 遍历所有QUOTED关系,直到找到Eduardo的推文
  • 收集所有这些推文,然后找到作者
  • 返回推文和作者

这是输出:

我针对Twitter API进行了其他几个查询,以混合一些我们尚未设置所有属性的节点-您可以在要点上看到所有查询 。

在接下来的几天里,我还将有一个运行https://10-0-1-157-32898.neo4jsandbox.com/browser/的沙箱。 您可以使用凭据readonly / twitter登录。

如果您有任何疑问/建议,请在评论中告诉我,或在Twitter上@markhneedham ,或给Neo4j DevRel团队发送电子邮件至devrel@neo4j.com。

翻译自: https://www.javacodegeeks.com/2017/03/neo4j-graphing-name-work-twitter-meme.html

neo4j 显示名字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Final Cut Pro x(FCPX)调色笔记

文章目录一、注意点二、调色流程1. 颜色校正&#xff08;一级校色&#xff09;1.1 颜色转换即色彩空间转换1.2 降噪&#xff08;noise reduction 即NR&#xff09;1.3 调整曝光和对比度1.4 调整白平衡1.5 饱和度1.6 肤色调整2.二级校色2.1 突出人物主体的方法一2.2 突出人物主体…

axure web组件下载_实践干货:Axure插入图标的4种办法

编辑导读&#xff1a;图标是我们在制作产品原型的时候使用的比较多的一类素材&#xff0c;在日常绘制原型的时候一般是以插入的形式添加到Axure中。本文作者结合自身经验&#xff0c;介绍了四种Axure中引入图标的方法&#xff0c;希望对大家能有所帮助。在日常绘制原型的时候&a…

上师大计算机学院分数线,分数低还想上师范大学?这4所师范院校,二本的分数就够了...

截至目前&#xff0c;全国各省市高考成绩全部公布了&#xff0c;接下来最主要的工作就是填报志愿&#xff0c;选择适合自己的大学和专业。每年到这个时候&#xff0c;就有不少家长和考生问我&#xff0c;自己的分数较低&#xff0c;不够一本线&#xff0c;有没有比较好的师范大…

上古卷轴3晨风职业_巫师3:上古卷轴5老玩家,入手巫师3,体验昆特牌版“实验室”...

今天小编入手了&#xff0c;期待已久的《巫师3》&#xff0c;而作为一个《上古卷轴5》的“老油条”&#xff0c;奇趣君下面说一下&#xff0c;一个老滚5的“老油条”玩《巫师3》是什么样的体验。首先我进入了开场动画&#xff0c;我没有跳过&#xff0c;而是看着他的剧情&#…

MacBook Mac OS 无法识别移动硬盘的解决办法

文章目录方法一、打开系统信息 System Information方法二、打开磁盘工具 Disk Utility方法一、打开系统信息 System Information 打开「系统信息」&#xff0c;点击左侧硬件列表的 USB&#xff0c;在右侧找到你的移动硬盘点击查看&#xff0c;如下图所示&#xff1a; 然后打开…

java通用对象_有效的Java –所有对象通用的方法

java通用对象所有对象共有的方法&#xff08;第3章&#xff09; 这是Joshua Blochs的有效Java第3章的简短摘要。我仅包含与自己相关的项目。 一般 等值合约将等价关系描述为&#xff1a; x.equals(null) false 自反 – x.equals(x) true 对称 –如果x.equals(y) true则y…

反应速度测试软件,用批处理实现的反应速度测试工具

::此工具在Win7和Vista下请使用管理员身份运行&#xff01;echo offcd.>%windir%\time.logset n:startmode con cols45 lines14Title 反应速度测试工具color 8aset aset bset sset/a n1set t%time:~9,1%cls&echo.&echo.&echo.echo.echo.echo 反应速度测试工具ec…

Mac终端shell类型bash和zsh切换

查看shell类型 可以执行命令echo $SHELL&#xff0c;先查看终端类型。 bash: /bin/bash zsh: /bin/zsh shell类型切换命令 切换到bash 输入命令&#xff1a;chsh -s /bin/bash 切换到zsh 输入命令&#xff1a;chsh -s /bin/zsh 注意需要重启终端生效&#xff08;强制退出后…

mysql没有开启binlog能恢复数据吗_一个妹纸rm -rf把公司整个数据库删没了...

经历了两天不懈努力&#xff0c;终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此&#xff0c;警醒自己&#xff0c;也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。事故背景安排一个妹子在一台生产服务器上安装 Oracle&#x…

apache.camel_Apache Camel 2.19发布–新增功能

apache.camelApache Camel 2.19于2017年5月5日发布&#xff0c;大约在一段时间后&#xff0c;我做了一个小博客&#xff0c;介绍了该版本包含的值得注意的新功能和改进。 这是值得注意的新功能和改进的列表。 1. Spring Boot的改进 Camel 2.19版本已针对Spring Boot进行了许多…

头条号个人中心登录_头条号平台上线「插入小程序」功能

头条号平台上线「插入小程序」功能&#xff0c;创作者可在图文、小视频和自定义菜单中插入头条小程序&#xff0c;帐号服务能力和变现能力进一步提升。一、什么是「头条小程序」&#xff1f;「头条小程序」是为内容生产者提供的延伸变现工具&#xff0c;是对创作者内容服务的延…

stearm计算机验证码,steam账户名称怎么取,值得收藏

steam是计算机游戏界最大的数码发行平台&#xff0c;是一个游戏整合下载平台&#xff0c;很多喜欢玩游戏的朋友都会用这个软件&#xff0c;当然也不少刚开始使用这个软件的朋友&#xff0c;这些朋友因为才刚刚接触到这个软件所以不知道steam账户名称怎么取&#xff0c;不要担心…

macOS下配置环境变量/查看环境变量

文章目录macOS 下环境变量的配置文件解决环境变量在 zsh shell 无效的问题查看 macOS 全部环境变量设置系统环境变量设置用户环境变量macOS 下环境变量的配置文件 a. /etc/paths b. /etc/profile c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/.bashrc /etc/…

jpa一级缓存和二级缓存_了解一级JPA缓存

jpa一级缓存和二级缓存我敢打赌&#xff0c;每个Java开发人员至少都听说过L1&#xff08;又名EntityManager或Session&#xff09;缓存。 但是您的理解水平足够好吗&#xff1f; 如果不确定&#xff0c;请考虑阅读这篇文章。 首先&#xff0c;我们需要知道持久性上下文是什么。…

造完家怎么拆东西_地弹簧玻璃门怎么拆?地弹簧玻璃门拆除注意事项有哪些?...

现如今&#xff0c;我们总可以看到玻璃门的身影&#xff0c;在我们的生活中&#xff0c;玻璃门可以说是随处可见。而对于安装玻璃门&#xff0c;大家了解多少呢?为了更好认识玻璃门&#xff0c;今天就带大家一起走进玻璃门的安装中&#xff0c;告诉大家怎么样拆卸和组装玻璃门…

dubbo provider异步_Dubbo学习(六) Dubbo面试问题

Dubbo是Alibaba开源的分布式服务框架&#xff0c;它最大的特点是按照分层的方式来架构&#xff0c;使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看&#xff0c;Dubbo采用的是一种非常简单的模型&#xff0c;要么是提供方提供服务&#xff0c…

测试网页兼容软件,WEB测试兼容性

软件兼容性测试在目前软件测试领域占有很只要的地位&#xff0c;无论B/S架构还是C/S架构的软件都需要进行兼容性测试&#xff0c;充分保证产品的平台无关性&#xff0c;使用户群充分的感受到软件的友好。139WDA属于WEB产品&#xff0c;以下就来总结下WEB测试之兼容性测试。WEB兼…

Oracle/MySQL数据库的表间关联查询_多表关联查询的SQL语句详解

文章目录内连接 inner join示例外连接 outer joinleft outer join 左外连接示例right outer join 右外连接示例full outer join 全外连接示例外连接总结内连接 inner join 内连接又称为等值连接&#xff0c;语法结构&#xff1a; 表1 inner join 表2 on 条件 -- inner可以省略…

tf 矩阵行和列交换_TF-搞不懂的TF矩阵加法

看谷歌的demo mnist&#xff0c;卷积后加偏执量的代码h_conv1 tf.nn.relu(conv2d(x_image, W_conv1) b_conv1)h_pool1 max_pool_2x2(h_conv1)其中的x_image的维数是[-1, 28, 28, 1]&#xff0c;W_conv1的维数是[5, 5, 1, 32], b的维数是[32]conv2d对x_image和W_conv1进行卷积…

kafka数据到flume_大数据摄取:Flume,Kafka和NiFi

kafka数据到flume初赛 在构建大数据管道时&#xff0c;我们需要考虑如何吸收出现在通常是Hadoop生态系统大门口的数据量&#xff0c;多样性和速度。 在决定采用哪种工具来满足我们的要求时&#xff0c;诸如可伸缩性&#xff0c;可靠性&#xff0c;适应性&#xff0c;开发时间成…