sqlalchemy的基本节点/边缘模型

graph-alchem的Python项目详细描述


SQLAlchemy(以及很快的更多orms)+networkx中绘制节点边缘关系图 整合。

The Goal

为可以跨 各种平台和各种框架,易于使用, 可扩展,并且很容易钩住其他绘图工具(如gephinetworkx等)

What’s here

一组基本的节点/边抽象+图的多对一关系 用SQLAlchemy在SQL中表示

Using this package

Documentation可在http://graphalchemy.readthedocs.org找到

它使用起来非常简单(还有一些例子)。但现在最好的办法是 阅读SQLAlchemy上的文档

一个非常简单的例子(使用SQLite数据库):

from graphalchemy.sqlmodels import create_base_classes, sqlite_connect
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()
Node, Edge = create_base_classes(NodeClass="Node", EdgeClass="Edge", Base=Base)
engine, session = sqlite_connect("database.db", metadata=Base.metadata)

# be sure to use unicode!!
node1 = Node(label=u"First node!")
node2 = Node(label=u"Second node!")
node3 = Node(label=u"Third node!")
edge1 = Edge.connect_nodes(node1, node2)
edge2 = Edge.connect_nodes(node1, node3)

session.add_all([node1, node2, node3, edge1, edge2])
session.commit()


# now we can graph it

import networkx as nx
G = nx.Graph()
G.add_edges_from([edge1, edge2])

# now we can draw this! (if you had pylab, matplotlib, etc)

你会得到一张像这样的照片(很明显,我们没有添加所有的特征 但你明白了):

https://github.com/jtratner/graphalchemy/raw/master/docs/images/readme-example.png

显然,这是一个很小的例子,但是它展示了如何利用 SQL连接、查询等的强大功能,而且非常容易

What’s going to be here

  1. networkx集成
  2. 测试多个sql数据库和适配器
  3. google应用程序引擎的摘要,mongoalchemy,可能还有django orm
  4. networkx和web服务请求之间的适配器(可能?)

Testing coverage

基本测试套件,可获得100%的sqlalchemy模型和基础线覆盖率 模型(仍然缺少烧瓶SQLAlchemy的测试)我只在sqlite上运行过 到目前为止,但据推测,它应该可以与其他sql数据库一起正常工作(因为 它使用SQLAlchemy的declarative base

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

推荐PyPI第三方库


热门话题
IE中的java跨域cookie问题   重复java中已经满足的循环   编译java RMI服务器时出错   JavaServlet POST中作为参数传递的javascript大型JSON数组数据为空   java片段未每次刷新/调用   java无法编译。错误消息   java如何构造大型类?   java Hibernate:TableThingsDB。事情并不存在   java如何操作从匹配项创建的数组。发现   循环以搜索和显示数组Java的某些部分   加载或注册SQLite JDBC驱动程序时出现java问题   活动和服务之间的java连接   JavaGWTG2D:ie8中的drawImage   java在安卓中设置hessian阈值   在Tomcat中使用Logback时发生java错误