dgraph到python对象映射器

pydigg的Python项目详细描述


重要提示:我还在做这个项目。慢慢来,但我希望它能在2019年年中发布。

pydiggy

dgraph到python对象映射器

  • 自由软件:麻省理工学院许可证

注意

仅限Python 3.7。对不起的。

示例

# ./examples/__init__from.basicimport*# noqa# ./examples/basic.pyfrom__future__importannotationsfrompydiggyimportNodefromtypingimportListclassRegion(Node):area:intpopulation:intname:strborders:List[Region]

cli

指向现有模块中的CLI实用程序,以生成DGRAPH模式。

$ python3 -m pydiggy generate examples

Generating schema for: examples

Nodes found: (1)
    - Region

Your schema:
~~~~~~~~

Region: bool @index(bool) .
_type: string .
area: int .
borders: uid .
name: string .
population: int .

~~~~~~~~

产生突变

frompydiggyimportgenerate_mutation,Facetspor=Region(uid=0x11,name="Portugal")spa=Region(uid=0x12,name="Spain")gas=Region(uid=0x13,name="Gascony")mar=Region(uid=0x14,name="Marseilles")por.borders=[spa]spa.borders=[por,gas,mar]gas.borders=[Facets(spa,foo='bar',hello='world'),mar]mar.borders=[spa,gas]por.stage()spa.stage()gas.stage()mar.stage()print(generate_mutation())

结果:

{
    set {
        <0x11> <Region> "true" .
        <0x11> <_type> "Region" .
        <0x11> <name> "Portugal" .
        <0x11> <borders> <0x12> .
        <0x12> <Region> "true" .
        <0x12> <_type> "Region" .
        <0x12> <name> "Spain" .
        <0x12> <borders> <0x11> .
        <0x12> <borders> <0x13> .
        <0x12> <borders> <0x14> .
        <0x13> <Region> "true" .
        <0x13> <_type> "Region" .
        <0x13> <name> "Gascony" .
        <0x13> <borders> <0x12> (foo="bar", hello="world") .
        <0x13> <borders> <0x14> .
        <0x14> <Region> "true" .
        <0x14> <_type> "Region" .
        <0x14> <name> "Marseilles" .
        <0x14> <borders> <0x12> .
        <0x14> <borders> <0x13> .
    }
}

从json到python对象的hydate

给出dgraph的一些响应:

{"data":{"allRegions":[{"uid":"0x11","_type":"Region","name":"Portugal","borders":[{"uid":"0x12","_type":"Region","name":"Spain"}]},{"uid":"0x12","_type":"Region","name":"Spain","borders":[{"uid":"0x11","_type":"Region","name":"Portugal"},{"uid":"0x13","_type":"Region","name":"Gascony"},{"uid":"0x14","_type":"Region","name":"Marseilles"}]},{"uid":"0x13","_type":"Region","name":"Gascony","borders":[{"uid":"0x12","_type":"Region","name":"Spain","borders|foo":"bar","borders|hello":"world"},{"uid":"0x14","_type":"Region","name":"Marseilles"}]},{"uid":"0x14","_type":"Region","name":"Marseilles","borders":[{"uid":"0x12","_type":"Region","name":"Spain"},{"uid":"0x13","_type":"Region","name":"Gascony"}]}]},"extensions":{"server_latency":{"parsing_ns":23727,"processing_ns":2000535,"encoding_ns":7803450},"txn":{"start_ts":117,"lin_read":{"ids":{"1":49}}}}}

我们可以将其转换为一些python对象:

>>>data=hydrate(retrieved_data){'allRegions':[<Region:17>,<Region:18>,<Region:19>,<Region:20>]}

历史记录

0.1.0(2018-07-31)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java库依赖项与非商业用途的兼容性   java将十六进制值转换为十进制值   java字符是如何工作的,它与英文字母有什么关系?   regex java模式从mapper生成的字符串中清除其他字符周围的引号   线程错误本地异常堆栈中的java异常   java如何设置RadioGroupFieldEditor的默认值   正在寻找在java中搜索数组的方法   java在洪水填充游戏中无法显示颜色   JAVAlang.NullPointerException由Geocoder使用GeoTools和Shapefile执行   java在安卓中请求最近的城市   java如何使用闭包编译器运行单个过程?   在java中播放wav文件的音频   JavaSpringHateoasControllerLinkBuilder方法显著增加了响应时间   JComboBox中JButton中的java压力效应   java如何在手机上制作网站图标   通过Java struts web应用程序在Azure AD中进行SAML身份验证