使用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第三方库


热门话题
java读取SSLSocket的最快或最佳方式   JavaGuice向类构造函数注入对象   java类不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)   java OpenGL 1.1更改颜色更改以前的颜色?   c#将Java/Android连接到。网络服务   java在节点上生成AES密钥   java Liferay与MarkLogic XDBC数据库集成   java使用静态初始化块来提高性能   java如何在需要不同参数的另一个方法中使用同一类中的方法   音频Java多种声音   Java显式引用转换   java Intellij,如何在maven项目中导入模块   java在什么条件下调用ELResolver的setValue方法?   java在beanshell中计算代码字符串并获取beanshell解释器返回的值   javascript将音频文件上载到服务器并从服务器响应设置图像   编码风格清理java代码,多个else if语句   java是否需要使此变量可变?   java线程未更新GlassPane上的进度条   java关闭调试模式@Vaadin Spring启动应用程序