热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:dgraph基本查询语法一

本文由编程笔记#小编为大家整理,主要介绍了dgraph基本查询语法一相关的知识,希望对你有一定的参考价值。dgraph的查询语法是在graphql上的扩展,添加了新的支
本文由编程笔记#小编为大家整理,主要介绍了dgraph 基本查询语法 一相关的知识,希望对你有一定的参考价值。


dgraph 的查询语法是在graphql 上的扩展,添加了新的支持,同时官方提供了一个

学习的网站 https://tour.dgraph.io/


基本环境(cluster 模式的)


参考 github 项目 https://github.com/rongfengliang/dgraph-docker-compose-deploy



git clone https://github.com/rongfengliang/dgraph-docker-compose-deploy
cd dgraph-docker-compose-deploy/one-zero
docker-compose up -d


基本使用



  • 加载schema


name: string @index(term) @lang .
age: int @index(int) .
friend: uid @count .



  • 加载数据


{
set {
_:michael "Michael" .
_:michael "39" .
_:michael _:amit .
_:michael _:sarah .
_:michael _:sang .
_:michael _:catalina .
_:michael _:artyom .
_:michael _:rammy .
_:amit "????"@hi .
_:amit "????"@bn .
_:amit "Amit"@en .
_:amit "35" .
_:amit _:michael .
_:amit _:sang .
_:amit _:artyom .
_:luke "Luke"@en .
_:luke "?ukasz"@pl .
_:luke "77" .
_:artyom "Артём"@ru .
_:artyom "Artyom"@en .
_:artyom "35" .
_:sarah "Sarah" .
_:sarah "55" .
_:sang "??"@ko .
_:sang "Sang Hyun"@en .
_:sang "24" .
_:sang _:amit .
_:sang _:catalina .
_:sang _:hyung .
_:sang _:goldie .
_:hyung "??"@ko .
_:hyung "Hyung Sin"@en .
_:hyung _:sang .
_:catalina "Catalina" .
_:catalina "19" .
_:catalina _:sang .
_:catalina _:perro .
_:rammy "Rammy the sheep" .
_:goldie "Goldie" .
_:perro "Perro" .
}
}



  • 基本查询


{
everyone(func: anyofterms(name, "Michael Amit")) {
name
friend {
[email protected]:ko:en
friend { expand(_all_) { expand(_all_) } }
}
}
}

技术分享图片



  • 数据类型查询


schema(pred: [name, age, friend, owns_pet]) {
type
index
}

技术分享图片



  • 语言支持


@
参考:
{
language_support(func: allofterms([email protected], "????")) {
[email protected]:hi:en
age
friend {
[email protected]:ru
age
}
}
}

技术分享图片



  • 函数&&过滤


内容查询
- allOfTerms(edge_name, "term1 ... termN")
- anyOfTerms(edge_name, "term1 ... termN")
比较查询
- eq(edge_name, value):
- ge(edge_name, value):
- le(edge_name, value):
- gt(edge_name, value):
- lt(edge_name, value):



  • AND OR NOT 查询


参考:
{
michael_friends_and(func: allofterms(name, "Michael")) {
name
age
friend @filter(ge(age, 27) AND le(age, 48)) {
[email protected]
age
}
}
}



  • 排序


orderasc or orderdesc
{
michael_friends_sorted(func: allofterms(name, "Michael")) {
name
age
friend (orderasc: age) {
[email protected]
age
}
}
}

技术分享图片



  • 分页


first: N
offset: N
after: uid
参考:
{
michael_friends_first(func: allofterms(name, "Michael")) {
name
age
friend (orderasc: [email protected], offset: 1, first: 2) {
[email protected]
}
}
}

技术分享图片



  • count


{
michael_number_friends(func: allofterms(name, "Michael")) {
name
age
count(friend)
}
}

技术分享图片



  • has


{
have_friends(func: has(friend)) {
[email protected]
age
number_of_friends : count(friend)
}
}

技术分享图片



  • 别名(和graphql 一致)


{
michael_number_friends(func: allofterms(name, "Michael")) {
persons_name : name
age
number_of_friends : count(friend)
}
}

技术分享图片


参考资料

https://tour.dgraph.io/


 

 

 

 

推荐阅读
  • 本文将指导你如何通过自定义配置,使 Windows Terminal 中的 PowerShell 7 更加高效且美观。我们将移除默认的广告和提示符,设置快捷键,并添加实用的别名和功能。 ... [详细]
  • 本文详细介绍了如何利用go-zero框架从需求分析到最终部署至Kubernetes的全过程,特别聚焦于微服务架构中的网关设计与实现。项目采用了go-zero及其生态组件,涵盖了从API设计到RPC调用,再到生产环境下的监控与维护等多方面内容。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 图神经网络模型综述
    本文综述了图神经网络(Graph Neural Networks, GNN)的发展,从传统的数据存储模型转向图和动态模型,探讨了模型中的显性和隐性结构,并详细介绍了GNN的关键组件及其应用。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 第三周课堂测试1、使用汇编语言编写指令时,用一些简单的容易记忆的符号来代替二进制指令,比机器语言更为方便,属于高级语言。(B ... [详细]
  • 在现代移动应用开发中,尤其是iOS应用,处理来自服务器的JSON数据是一项基本技能。无论是使用Swift还是PHP,有效地解析和利用JSON数据对于提升用户体验至关重要。本文将探讨如何在Swift中优雅地处理JSON,以及PHP中处理JSON的一些技巧。 ... [详细]
  • 我们正在使用GNU Make来构建我们的系统,在makefile文件的末尾,我们通过一个名为Makedepends的包含来生成一系列的.d文件。然而,当文件被删除或移动时,依赖关系会中断,我们需要寻找一种方法来优雅地处理这种情况。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
  • 本文探讨了在Qt框架下实现TCP多线程服务器端的方法,解决了一个常见的问题:服务器端仅能与最后一个连接的客户端通信。通过继承QThread类并利用socketDescriptor标识符,实现了多个客户端与服务器端的同时通信。 ... [详细]
  • 高通近期发布了符合最新标准的LTEM和NBIoT技术方案,然而,由于多种因素影响,物联网市场对此反应并不热烈。 ... [详细]
  • 酷家乐 Serverless FaaS 产品实践探索
    本文探讨了酷家乐在 Serverless FaaS 领域的实践与经验,重点介绍了 FaaS 平台的构建、业务收益及未来发展方向。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
author-avatar
淘宝店名维衣潮都_233
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有