资源简介
知识图谱实战案例完全剖析(附完整源码和数据集)Python与Neo4j的集成
代码片段和文件信息
# -*- coding: utf-8 -*-
#author:zhangziliang04@sina.com
import aiml
import ossys
from py2neo import GraphNodeRelationship
#备注:这是演示程序,主要用来演示功能的调用关系,宗旨在于跑通,可以理解成,通用意义上的Helloword,而非工程实践
#检索知识图谱
def kgquery( input):
# 连接数据库
test_graph = Graph(“http://localhost:7474“ username=“neo4j“ password=“zhangzl“)
# 查找节点
find_code_1 = test_graph.find_one(“歌手“ property_key=“name“ property_value= input)
return find_code_1
if __name__ == ‘__main__‘:
#切换到语料库所在工作目录
mybot_path = ‘./resource‘
os.chdir(mybot_path)
#
mybot = aiml.Kernel()
mybot.learn(“startup.xml“)
mybot.respond(‘load jackson‘)
#处理响应
while True:
input_message = raw_input(“Enter your message >> “)
if len(input_message) > 60:
print mybot.respond(“input is too long > 60“)
continue
elif input_message.strip() == ‘‘:
print mybot.respond(“空“)
continue
if input_message == ‘q‘:
exit()
else:
response = mybot.respond(input_message)
if response == ““:
ans = mybot.respond(‘找不到答案‘)
print ans
#通过知识图谱查询
elif response[0] == ‘#‘:
if response.__contains__(“neo4j“):
#获取用户输入的变量
res = response.split(‘:‘)
#实体
entity = str(res[1]).replace(“ “““)
#属性
attr = str(res[2]).replace(“ “““)
print entity+‘<---->‘+attr
ans = kgquery(entity)
print ans
# 匹配不到模版,通用查询
elif response.__contains__(“NoMatchingTemplate“):
print “NoMatchingTemplate“
print “搜索引擎查询,此功能暂不支持“
#多答案选项选择的策略:
if len(ans) == 0:
ans = mybot.respond(‘找不到答案‘)
print ‘Jackson:‘ + ans
elif len(ans) >1 and type(ans) == list:
print “不确定候选答案“
print ‘Jackson: ‘
for a in ans:
print a.encode(“utf8“)
else:
print ans
# 匹配模版
else:
print ‘Jackson:‘ + response
#print mybot.respond(raw_input(“Enter your message >> “))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 459 2018-01-15 18:28 源码2\kg\code\.idea\code.iml
文件 200 2018-01-15 18:28 源码2\kg\code\.idea\encodings.xm
文件 228 2018-01-15 18:28 源码2\kg\code\.idea\inspectionProfiles\profiles_settings.xm
文件 212 2018-01-15 18:28 源码2\kg\code\.idea\misc.xm
文件 260 2018-01-15 18:28 源码2\kg\code\.idea\modules.xm
文件 27935 2018-01-18 08:08 源码2\kg\code\.idea\workspace.xm
文件 46 2018-01-15 18:52 源码2\kg\code\Readme.txt
文件 2773 2018-01-16 10:56 源码2\kg\code\src\Jackson.py
文件 32802 2017-01-05 23:24 源码2\kg\code\src\resource\alice.aiml
文件 665 2018-01-15 21:59 源码2\kg\code\src\resource\basic_chat.aiml
文件 41968 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\ai.aiml
文件 32802 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\alice.aiml
文件 2441 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\astrology.aiml
文件 407214 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\atomic.aiml
文件 94417 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\biography.aiml
文件 434764 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\bot.aiml
文件 7777 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\bot_profile.aiml
文件 165320 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\client.aiml
文件 31111 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\client_profile.aiml
文件 22108 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\computers.aiml
文件 1765 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\continuation.aiml
文件 4265 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\date.aiml
文件 668020 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\default.aiml
文件 5258 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\drugs.aiml
文件 15537 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\emotion.aiml
文件 5550 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\food.aiml
文件 165156 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\geography.aiml
文件 10476 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\gossip.aiml
文件 1787 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\history.aiml
文件 11655 2017-01-05 23:24 源码2\kg\code\src\resource\en\alice\humor.aiml
............此处省略869个文件信息
评论
共有 条评论