Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于在entity_extractor等代码中因为调用kb.py访问neo4j数据库过慢的解决方法 #32

Open
ConnollyLeon opened this issue Jun 3, 2020 · 11 comments

Comments

@ConnollyLeon
Copy link

ConnollyLeon commented Jun 3, 2020

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新
try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。
kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。
仅供参考,因为还没有完全调试好,结构写的也不够清晰!!
在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

@duterscmy
Copy link
Owner

点赞点赞~

@JS-WangZhu
Copy link

点赞!

@xqx1568
Copy link

xqx1568 commented Jun 18, 2020

舒服了 感谢!从300s变成平均0.几秒

@liupenggg
Copy link

搜索结果里面有乱码,怎么处理呀

@ConnollyLeon
Copy link
Author

搜索结果里面有乱码,怎么处理呀

这个问题应该是因为PKUBASE的数据库有脏数据。有乱码的话,建议把这个去掉

@callmeivy
Copy link

感谢!

@DeqianBai
Copy link

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新
try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。
kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。
仅供参考,因为还没有完全调试好,结构写的也不够清晰!!
在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

你好,想问一下,如果用你这个代码的话,tuple_extractor.py文件是直接运行吗, 还是说需要注释掉什么内容或者放开哪部分备注掉的内容,我运行完之后,没有生成candidate_tuples_valid.pkl文件,导致后面的tuple_filter.py:文件无法运行,谢谢~

@1744084814
Copy link

使用gstore搜索数据的时候如果有entity中有空格、英文双引号、单书名号等符号时,会导致搜索出错,gstore服务器重启,那么在这些时候是啥也搜索不到的吧。出错的命令如下类:
select distinct ?x ?y where {<电影"导演之王":黑泽明> ?x ?b. ?b ?y ?z}
select distinct ?x ?y where {<电影导演之王 :黑泽明> ?x ?b. ?b ?y ?z}

@cdg1921
Copy link

cdg1921 commented Jun 9, 2022

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

@ConnollyLeon
Copy link
Author

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。
可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。
6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。
kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

2年前的东西突然被翻出来了0.0,我已经不维护这个代码啦,可能数据库不让访问了,我记得我当时是不需要账号和密码的...

@Pap-Fish
Copy link

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。
可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。
6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。
kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

现在账号密码好像是root:123456,详情见https://github.com/pkumod/gStore/blob/0.8/docs/API.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants