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; 然后打开…

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

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

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

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

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

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

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

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

手机热点总是正在连接服务器,手机热点用不了?可以尝试这个方法。

原标题&#xff1a;手机热点用不了&#xff1f;可以尝试这个方法。下班路上&#xff0c;上司突然打来“夺命连环call”&#xff0c;早上的方案需要赶紧改一下。无奈&#xff0c;只能拿出笔记本在地铁上临时办公&#xff0c;关键时候连接手机热点&#xff0c;却发现还是没网络。…

Sublime Text for Mac 最新版安装后,无法搜索到Install Package的解决办法

打开命令面板搜索不到Install Package&#xff0c;说明没有安装Package Control。 如何安装Package Control&#xff1f; 首先打开Package Control中文镜像&#xff0c;打开后如下图所示&#xff1a; 点击「Install Now」后&#xff0c;如下图所示&#xff1a; 我们看到有两…

tomcat应用服务器有哪些,手写一个Tomcat应用服务器

mytomcat项目简介自己实现的简易的TomcatTomca实现说明Tomcat&#xff0c;这只3脚猫&#xff0c;大学的时候就认识了&#xff0c;直到现在工作中&#xff0c;也常会和它打交道。这是一只神奇的猫&#xff0c;我们可以通过实现它来深刻了&#xff1b;了解它的实现原理。考虑自己…

SublimeText如何让代码的关键字高亮显示

如何设置不同语法的关键字高亮显示 假设你编写java代码&#xff0c;希望代码关键字高亮显示&#xff0c;你可以在菜单栏中选择「查看」-「语法」-「java」&#xff0c;勾选java即可&#xff0c;如下图&#xff1a; 当然&#xff0c;你也可以在页面右下角点击打开语法类型列表…

stringbuffer_StringBuffer的存在的含义

stringbuffer当我处理旧代码并在StringBuffer实例上运行时&#xff0c;通常将它们替换为StringBuilder实例。 尽管可以从此更改中获得性能优势&#xff0c;但我经常在我所知不会对性能产生明显影响的地方进行更改。 我认为&#xff0c;除了可能带来性能收益外&#xff0c;还应出…

服务器系统js文件报错,js服务器文件

js服务器文件 内容精选换一换登录Windows操作系统的弹性云服务器时&#xff0c;需使用密码方式登录。因此&#xff0c;用户需先根据创建弹性云服务器时使用的密钥文件&#xff0c;获取该弹性云服务器初始安装时系统生成的管理员密码(Administrator帐户或Cloudbase-init设置的帐…

系统运维包括哪些内容_智能养老系统包括哪些?养老管理系统内容详解

智慧养老成为养老产业新的发展热点&#xff0c;受到了社会各界的关注。智能养老系统利用先进的IT技术手段&#xff0c;开发面向居家养老、社区养老、机构养老的养老系统平台&#xff0c;提供实时、快捷、高效、物联化、智能化的养老服务&#xff0c;并将医疗服务、运营商、服务…

买了服务器之后如何操作系统,买了服务器之后如何操作系统

买了服务器之后如何操作系统 内容精选换一换如果您需要使用毕昇编译器&#xff0c;则需要先在服务端安装毕昇编译器。毕昇编译器基于开源LLVM开发&#xff0c;并进行了优化和改进&#xff0c;同时将flang作为默认的Fortran语言前端编译器&#xff0c;是针对鲲鹏平台的高性能编译…