未知

knowledge的Python项目详细描述


知识是一个基于sqlalchemy的多态性垂直数据库。它提供了 数据库的类似于dict的接口。

知识由两个相关的对象组成:fact()s和entity()s.entities 可以创建,然后对其应用任意事实。知识之前 可以使用,数据库必须使用以下sqlalchemy设置:

from sqlalchemy import create_engine
from knowledge.model import init_model, metadata
engine = create_engine('sqlite:///knowledge.db')
init_model(engine)
metadata.create_all(engine)

运用知识很容易。实体是用一个键创建的,然后是关于 实体可以像字典中的值一样应用:

from knowledge.model import Entity, DBSession

monster = Entity(u'Monster')
fairy = Entity(u'Fairy')
rjbean = Entity(u'rjbean')
monster[u'color'] = u'Green'
monster[u'name'] = u'Lotharrr'
fairy[u'flies'] = True
fairy[u'name'] = u'Bell'
rjbean[u'name'] = u'ralph'
rjbean[u'flies'] = False
rjbean[u'hacks'] = True

DBSession.add(monster)
DBSession.add(fairy)
DBSession.add(rjbean)
DBSession.commit()

从数据库中检索实体和事实的工作与任何其他sqlalchemy一样 应用程序:

from knowledge.model import Entity, DBSession

# Query all the Entities out of knowledge
knowledge_query = DBSession.query(Entity).all()
for entity in knowledge_query:
    print entity, entity.facts.values()

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

推荐PyPI第三方库


热门话题
java不可访问配置设计   在java中使用json就像在javascript中一样   java如何屏蔽Android 4.0主密钥   java为什么clickable的预期条件不执行click()?   Azure事件中心:Kafka消费者在java中不轮询任何内容   javajaxb和enum实现接口   java如何在标记下添加ProgressBar和按钮   java如何为对象实现arrayList   使用多重匹配重载java构造方法重载   java使用for循环和if语句搜索帐户   java JPanel在JPanel中添加了顶部填充   IntelliJ将Java项目/模块转换为Maven项目/模块   java如何迭代arraylist中的arraylist   自定义类的java“找不到符号”错误