![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pyDatalog
文章平均质量分 81
blmoistawinde
上海西南某高校学森一枚,数据玩家,喜欢有趣有意义的数据挖掘分析。目前兴趣方向在NLP,社交网络分析和知识图谱等。
向往风一般自由,希望拂过之处给世界带来些清新与滋润~
邮箱:blmoistawinde@qq.com
Github:https://github.com/blmoistawinde
展开
-
pyDatalog: python的逻辑编程引擎(用于推理、查询等)【一:序言】
在探索"知识推理"的时候找到了pyDatalog这个工具。它借鉴了Datalog这种声明式语言,可以很方便自然地表达一些逻辑命题和数学公式,并且它是在我现在最爱的python上实现的。尝试以后,其简洁优雅的形式一下子把我吸引住了。来看一个官网上用它实现阶乘的例子:from pyDatalog import pyDatalogpyDatalog.create_terms('factoria...原创 2018-06-30 14:01:04 · 7427 阅读 · 0 评论 -
pyDatalog: python的逻辑编程引擎【二:基础教程(上)】
变量和表达式第一步是导入pyDatalog: 下一步是声明我们将使用的变量。他们必须以大写字母开头: 变量出现在逻辑查询中,返回可打印的结果In [1]:from pyDatalog import pyDatalogpyDatalog.create_terms('X,Y')# give me all the X so that X is 1print(X==1)X-1查询可以包含多个...翻译 2018-06-30 14:56:31 · 6674 阅读 · 0 评论 -
pyDatalog: python的逻辑编程引擎【三:基础教程(下)】
聚合函数聚合函数是一种特殊类型的函数【与数组类元素相关】。我们首先创建说明所需的数据。In [1]:from pyDatalog import pyDatalogpyDatalog.create_terms('X,Y,manager, count_of_direct_reports')# the manager of Mary is John+(manager['Mary'] == 'Joh...翻译 2018-07-01 09:37:48 · 3006 阅读 · 5 评论 -
pyDatalog: python的逻辑编程引擎【四:从文件中加载和执行程序】
之前的教程中,所有的操作,包括定义数据等都是在python里面进行的。但是当我们处理庞大的知识库的时候,我们肯定不希望把所有的数据都写在一个py文件里,而是希望把它存在更通用的保存数据的文件格式/数据库里面,在需要的时候再让程序来读取就好了。pyDatalog可以做到这些功能。下面是关于从文件中读取pyDatalog程序,我自己写的简单例子:In [1]:from pyDatalog import...原创 2018-07-02 08:56:07 · 2376 阅读 · 0 评论 -
pyDatalog: python的逻辑编程引擎【五:与“知识图谱”的交互】
这一回,我们的目标是用pyDatalog与“知识图谱”交互。知识图谱是个很复杂的概念,但一般其中的知识都是以RDF三元组的形式存储的,所以我在这里实际上演示的是pyDatalog与RDF类三元组的交互。官网上没有提供这类问题的“标准解法”,下面的例子是我的一些思考,我也从中发现了用Datalog管理和维护知识图谱的一些特有优势:话说东汉末年,群雄并起,其中一支号称汉室宗亲,这正是我们熟悉的刘备刘皇...原创 2018-07-02 09:55:11 · 5027 阅读 · 3 评论