使用redis在python中实现一个triplestore来存储关系。

redis_triplestore的Python项目详细描述


redis_triplestore

使用redis在python中实现一个triplestore来存储关系。

需要redis 2.0+,最新版本的redis py和redis_wrap。

redis py可以从这里下载: *http://github.com/andymccurdy/redis-py

注意,您可以使用requirements.txt文件安装pip的依赖项。

示例

分配:

FOAF = Namespace('http://xmlns.com/foaf/0.1/')

frodo = Resource('http://example.com/comte/frodo', **{
    FOAF.name: 'Frodo',
    FOAF.familyName: 'Baggins',
})
assert frodo[FOAF.name] == 'Frodo'

持久性:

frodo = Resource('http://example.com/comte/frodo')
assert frodo[FOAF.name] == 'Frodo'

gandalf = Resource('http://example.com/wizards/gandalf', **{
    FOAF.name: 'Gandalf',
    FOAF.familyName: 'the White',
})
saruman = Resource('http://example.com/wizards/saruman', **{
    FOAF.name: 'Saruman',
    FOAF.familyName: 'of Many Colors',
})

关系:

frodo.add_relation(FOAF.knows, gandalf)
assert frodo.relations(FOAF.knows) == [gandalf]
gandalf.add_relation(FOAF.knows, saruman)
assert gandalf.relations(FOAF.knows) == [saruman]
assert gandalf.reversed_relations(FOAF.knows) == [frodo]
frodo.add_relation(FOAF.knows, saruman)
assert frodo.relations(FOAF.knows) == [gandalf, saruman]

清理:

frodo.delete_relation(FOAF.knows, saruman)
assert frodo.relations(FOAF.knows) == [gandalf]
frodo.delete_relation(FOAF.knows, gandalf)
gandalf.delete_relation(FOAF.knows, saruman)
assert gandalf.relations(FOAF.knows) == []
assert gandalf.reversed_relations(FOAF.knows) == []
frodo.remove()
gandalf.remove()
saruman.remove()
assert frodo[FOAF.name] == None

版权所有:David Larlet 2010 许可证:BSD。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
eclipse如何在Java中定义main(String[]args)而不出现警告和错误?   java获取正则表达式匹配后的文本   java什么是Gradle深度解释中的buildbyconvention?   java不允许用户更改文本字段   java为aws lambda中的代码生成swagger文件   Android java。网UnknownHostException:主机未解析:服务器地址:443   java onBackPressed()完成我的活动   电子邮件中的java语言环境   面向匿名用户的java Tomcat/spring会话管理   java在参考资料中添加docx文件并创建可执行jar   plsql使用Java执行plsql   使用lambda表达式更新嵌套列表:Java 8   静态数据的java短期与长期