图话第一代女性开发者

写在前面的话

想问大家一个有趣的问题,大家知道我们程序员圈的第一位女性开发者是谁吗?作为开发者,以前并没有认真去想过这个问题,这两天认真的看了一下百度百科查找了一下相关的专业知识。才知道历史上第一位女性程序员是:奥古斯塔·阿达·金,勒芙蕾丝伯爵夫人(1815年12月10日-1852年11月27日)(英文:Augusta Ada King, Countess of Lovelace),原名奥古斯塔·阿达·拜伦(Augusta Ada Byron),通称阿达·洛芙莱斯(Ada Lovelace),是著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。
为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。
言归正传,今天我们用技术去致敬这位女性开发者,向她学习科学严谨的研究精神。本文通过Graph来梳理人物的生平关系和重要人物,采用Neo4j来进行关系的存储和可视化。

一、相关信息的收集

本文的目标是通过图来构建埃达.洛夫莱斯的生平,他的重要人物关系,对计算机和相关行业的重要影响等等,我们尝试通过百科来查找相关的资料,下面跟着一起来吧。

1、搜集人物信息

首先我们先在百度百科中直接搜索中心人物的主要信息。在连接中埃达.洛夫莱斯,我们可以看到以下的信息。

在1842年,人称“数字女王”的阿达·洛芙莱斯(Ada Lovelace)编写了历史上首款电脑程序。在1834年,阿达的朋友——英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)——发明了一台分析机;阿达则致力于为该分析机编写算法,并于1843 年公布了世界上第一套算法。巴贝其分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。1852年,阿达为了治疗子宫颈癌,却因此死于失血过多,享年36岁。无独有偶,她与她父亲拜伦死于相同年龄,一样死于治疗中的失血过多。她留下了两个儿子与一位女儿—安妮·布兰特贵女。依她的遗言,阿达葬于诺丁汉哈克诺的圣 玛丽亚·抹大拉教堂,长眠在父亲的身旁。

通过以上的信息介绍,基本上已经形成了比较清晰的人物关系脉络。我们使用思维导图的方式来展示这些信息可以如下所示:

二、Neo4j图话人物

neo4j的知识这里暂时不展开(只是简单讲解),后面可以抽一些时间来专门的谈谈图数据库,已经图数据库的简单使用。今天主要讲讲如何把这些信息以图的形式表达和呈现,怎么把数据插入到图数据中,怎么进行实体关系的建立。

1、Neo4j都有啥

打开安装好的Neo4j的浏览器控制台桌面,您可以看到如下的页面:

在上图的页面中,我们可以看到,图数据库中有三个最重要的对象:Node、Relationship、Property。通过节点、关系、属性来构建一个图,图用于表达事务、人物这些对象的关联关系的话,具有非常直观和友好的特点,而反观关系型数据库,不仅存储麻烦,可能查询维护数据也是一件令人非常痛苦的事情。

比如我们打开一个电影的相关节点信息,就直观的看到这些信息。

切换到table模式下可以看到它的原始信息是这样的

2、文本到图对象映射

这里假设您对neo4j已经有了一些基本了解,对常规操作也略知一二,对于如何创建node,生成关系,这里不一一列出,不清楚的朋友可以参考CSDN的一些入门帖子进行学习。我们基于之前百科中查找的信息,将人物的关系和相关实体转换成Neo4j中的相关对象。具体的实体创建语句如下:

CREATE (TheMatrix:girlCoder {title:'第一位女程序员', released:1999, tagline:'图致敬关于历史上第一位女程序员'})
CREATE (a:Person {name:'埃达.洛夫莱斯', born:1815,remark:'历史上第一位女程序员,数学家'})
CREATE (b:Person {name:'迈克尔.法拉第', remark:'电学之父'})
CREATE (c:Person {name:'玛丽.萨默维尔', remark:'19实际欧洲数学和科学界的杰出女性之一'})
CREATE (d:Person {name:'乔治.戈登.拜伦', remark:'英国诗人、剧作家'})
CREATE (e:Person {name:'安妮.安娜贝拉.拜伦', remark:'诗人拜伦的妻子'})
CREATE (f:Person {name:'程序员'})
CREATE (g:Person {name:'飞行学', remark:'12岁写的书'})
CREATE (h:Person {name:'数学'})
CREATE (i:Person {name:'子宫颈癌', remark:'病症'})
CREATE (j:Person {name:'尤卡里机器'})
CREATE (k:Person {name:'计算机硬件历史'})
CREATE(a)-[:朋友]->(b),(a)-[:师从]->(c),(a)-[:父女]->(d),(a)-[:母女]->(e),(a)-[:史上第一位]->(f),(a)-[:出版物]->(g),(a)-[:知名于]->(h),(a)-[:亲历]->(i),(a)-[:启发]->(j),(a)-[:影响]->(k)

复制以上的语句,到neo4j的客户端执行机器上去运行,您可以在图数据库中进行查询看到以下结果。neo4j采用Match语句进行数据的查询,类似于select,执行完成后可以看到结果:

MATCH (n:Person{name:'埃达.洛夫莱斯'}) RETURN n

到这里,有朋友一定会说,只看到了中心任务,没有看到它的关系和关联的实体信息。应该怎么办呢?其实很简单,我们可以通过客户端的关系探索功能来实现自由探索。使用鼠标点击节点,在弹出的页面中点击图即可。

这样就完整的展示了以埃达.洛夫莱斯为中心的关系探索,以及关联关系的实体信息。你甚至可以基于关系实体进行再次探索(这里没有构建其它的关系,所以暂时无法探索)。

总结

以上就是本文的全部内容,本文以埃达.洛夫莱斯为出发点,通过百度百度采集相关人物的信息,创建思维导图,然后将思维导图和文本信息转换成graph,存放在neo4j图数据库库中,通过实例讲解怎么从文本到图对象的人工构建过程,在图领域,其实有很多自动识别文本提取到图谱的项目,有兴趣的朋友可以一起去探索。行文仓促,如有不当,请各位批评指正。最后,仅以此文致敬广大的女性开发者,祝各位工作顺利,开开心心。

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

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

相关文章

GPT-2:OpenAI的NLP商业化野望

文章回顾了近几年NLP的升级历程,从三个阶段的发展带我们梳理了NLP演进的脉络。 自然语言处理(NLP)技术正在生活的方方面面改变着我们的生活。客厅的智能音箱在跟你每天的对话中飞速进步,甚至开始跟你“插科打诨”来适应你的爱好习…

Java 反射最终篇 - Mock 对象和桩

Mock 对象和 **桩(Stub)**在逻辑上都是 Optional 的变体。他们都是最终程序中所使用的“实际”对象的代理。 不过,Mock 对象和桩都是假扮成那些可以传递实际信息的实际对象,而不是像 Optional 那样把包含潜在 null 值的对象隐藏。…

用聊天机器人假扮人类

日前看到新闻,某企业用聊天机器人假扮人类,蒙骗消费者。使用聊天机器人服务消费者没有错,但是现在这样用,技术明显是跑在法律前面了,至少在中国还没有立法,禁止机器人假扮人类。 2019年,美国加…

chatgpt赋能python:如何用Python赚取合法收入

如何用Python赚取合法收入 随着技术的飞速发展,Python作为一种简洁易读的高级编程语言,一直以来受到了广大工程师、开发人员和数据科学家的青睐。应用广泛,从网站开发到机器学习,从自然语言处理到大数据分析,Python都…

你需要了解的 50 个 ChatGPT 统计数据和事实

Rest assured that with the ChatGPT statistics you’re about to read, you’ll confirm that the popular chatbot from OpenAI is just the beginning of something bigger. Since its launch in November 2022, ChatGPT has broken unexpected records. For example, it r…

做设计师要用到的工具软件

1.图形处理工具 这就是 UI 设计师的核心了,PS 是使用最广泛的,用 Sketch(Mac)和 XD(Windows)的也很多,Sketch/XD 比较轻量级,基本能满足 UI 设计师的日常工作需要。 2.信息架构工具…

解决论文查重时参考文献被标红的方法

1. 有明显的“参考文献”标记,参考文献4个字独占一行,不要有其他任何字符 2. 尽量不要用谷歌学术、NoteExpress、EndNote等工具来生成参考文献,很容易在查重时被标红 2.1 如果用NoteExpress插入参考文献时,最好清除域代码&#…

借助ChatGPT的「代码解释器」,菜鸟玩下数据分析

大家好,我是Yuan,这篇文章主要是介绍,借助ChatGPT的「代码解释器」,如何进行数据分析。 概述 代码解释器对于经常使用代码和数据的专业人士和爱好者都非常有用,这是一个多功能的工具,可以用于分析数据、创…

微信小程序云开发———云数据库

1.微信小程序注册 官方注册文档:[https://developers.weixin.qq.com/miniprogram/introduction/] 微信小程序注册地址:[https://mp.weixin.qq.com/] 进去以后点击立即注册 ​​​​​​​ 点击立即注册后会转跳到选择注册的帐号类型 ,在这个页面…

小程序(四):微信登录功能的实现+云开发数据库

目录 好文推荐: 完整代码gitee仓库查看:https://gitee.com/CMD-UROOT/xzyy.git 一、微信登录 1.点击按钮(或其他),获取用户信息(昵称、头像等)。 2.通过微信官方文档搜getUserProfile 3.给点击登录绑定事件 点击登…

微信小程序云开发之云函数的大坑

不知道大家在弄使用云函数的时候有没有看日志的习惯,看这个日志是要钱的,真是无语了,微信开发者工具上面没有任何的提示,我是今天敲代码的时候突然那发现云函数查不出数据了,打开控制台发现说我欠费了,但是…

网页中文翻译成英文简单方法

利用谷歌浏览器的翻译功能可以比较快键的把网页翻译成其他语言。 首先,打开需要翻译的网页。右键一键翻译。 会出现这个选择框,选择选项 改成需要的语言,再按f12。 选择copy 整个html元素,建立一个记事本,复制粘贴。放…

利用python批量将excel中文翻译成英文

目录 操作过程中不断遇到新的问题,思路的转换过程背景第一天 操作过程第二天正则表达式是个好东西第三天第四天第五天遇到的小问题操作过程中不断遇到新的问题,思路的转换过程 背景 今天接到一个任务,需要将EXCEL文件中的中文翻译成英文,由于表格内容非常大,我想着 这要…

用python做一个文本翻译器,自动将中文翻译成英文,超方便的

translate非标准库是python中可以实现对多种语言进行互相翻译的库,使用时只需要设置目标语言(比如:中文、英文)后,会自动将原始文本翻译成我们需要的目标语言。 【阅读全文】 使用pip的方式安装translate非标准库。 …

无手机号注册Outlook邮箱方法

目前,拥有电子邮件地址已成为一项基本需求,因为有必要其他平台上注册,App注册等等。 创建电子邮件帐户很简单,但同时在安全性方面可能会变得有些微妙,因为我们的电子邮件通常包含与我们公开使用的银行数据、家庭数据或…

配置cloudreve邮箱发信用outlook邮箱时的权限异常,做个记录

介绍 之前用163的默认邮箱发信,改用outlook的自定域名后缀发信但是居然后台出现错误,现现以下错误提示 既然发送失败,第一时间就是拉取日志查看异常原因了,异常原因“Caused by: javax.mail.AuthenticationFailedException: 535…

.Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法

C#实现简单邮件发送代码如下 public static void SendAsync(string emailTo, string subject, string mailBody){var msg new MailMessage();msg.To.Add(emailTo);//msg.From new MailAddress(_userNameForEmail, "显示的发件人名称", System.Text.Encoding.UTF8);…

Foxmail登陆报错outlook邮箱报错:foxmail,C4 NO LOGIN failed.

1 事件 Foxmail登陆报错outlook邮箱报错: foxmail,C4 NO LOGIN failed. 2 原因 这是由于outlook邮箱设置了双重验证登陆,foxmail无法弹出验证登陆窗口 3操作方法 方法一:更换邮箱客户端 方法二: (1)网页登陆…

文心一言 VS chatgpt (13)-- 算法导论3.1 8题 3.2 1题

八、可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立地趋于无穷。对于给定的函数g(n, m),用O(g(n, m))来表示以下函数集: O(g(n, m)) { f(n, m): 存在正常量c、和,使得对所有n>n0或m>m0&#xff…

Windows中文账户名修改为英文

原理:使用第三者管理员账户对当前中文名管理员账户的名称进行修改。 1、创建新的管理员账户 在Windows开始菜单处点击右键,选择Windows PowerShell(管理员),输入以下命令,创建tempuser管理员用户&#xff…