使用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。