本文整理汇总了Python中api_li3ds.database.Database.query方法的典型用法代码示例。如果您正苦于以下问题:Python Database.query方法的具体用法?Python Database.query怎么用?Python Database.query使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类api_li3ds.database.Database
的用法示例。
在下文中一共展示了Database.query方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: transfo_trees
# 需要导入模块: from api_li3ds.database import Database [as 别名]
# 或者: from api_li3ds.database.Database import query [as 别名]
def transfo_trees(name, url, label, ids):
edges = Database.query(
"""
select t.id, t.source, t.target, t.transfo_type, t.name, tft.name as tname
from (
select distinct
unnest(tt.transfos) as tid
from li3ds.transfo_tree tt where tt.id = ANY(%s)
) as tf
join li3ds.transfo t on t.id = tf.tid
join li3ds.transfo_type tft on tft.id = t.transfo_type
""", (list(ids), )
)
urefs = set()
for edge in edges:
urefs.add(edge.source)
urefs.add(edge.target)
nodes = Database.query("""
select distinct r.id, r.name, r.sensor, s.name as sname, s.type
from li3ds.referential r
join li3ds.sensor s on r.sensor = s.id
where ARRAY[r.id] <@ %s
""", (list(urefs), ))
return make_dot(name, url, label, nodes, edges)