Norm-Go

Go 语言 ORM 工具
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 国产
投 递 者 计承德
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Norm 是一款 Golang 编写的 ORM 工具,对分布式图数据库 Nebula Graph 的查询语言 nGQL 进行映射封装,只用实例对象即可进行图数据查询。

主要特性

  • 通过 struct / map(支持顶点、边)构建插入 nGQL
  • 将 Nebula 执行结果解析为 struct / map
  • 方便易用
  • 提供用于单元测试的模拟数据
package main

import (
	"log"
	"time"

	"github.com/zhihu/norm"
	"github.com/zhihu/norm/dialectors"
	"github.com/zhihu/norm/examples/querys"
)

func main() {
	db := newGdb()
	// prepare()

	// // 插入示例
	// inserts.InsertEdge(db)
	// inserts.InsertVertex(db)

	// // 查询 示例
	// querys.MatchSingle(db)
	// querys.MatchMulti(db)
	// querys.Count(db)
	querys.Chainable(db)
	// querys.ChainableCount(db)
}

func newGdb() *norm.DB {
	dalector := dialectors.MustNewNebulaDialector(dialectors.DialectorConfig{
		Addresses: []string{"127.0.0.1:9669"},
		Timeout:   time.Second * 5,
		Space:     "test",
		Username:  "test",
		Password:  "test",
	})
	db := norm.MustOpen(dalector, norm.Config{})
	return db
}

func prepare(db *norm.DB) {
	// 创建 tag
	createSchema := "" +
		"CREATE TAG IF NOT EXISTS user(id int, name string);" +
		"CREATE TAG IF NOT EXISTS answer(id int, vote_up_cnt int);" +
		"CREATE EDGE IF NOT EXISTS answer_vote_up(vote_up_cnt int, created timestamp);"
	_, err := db.Execute(createSchema)
	if err != nil {
		log.Fatalf("exec %s error: %v", createSchema, err)
		panic(err)
	}
}
  • 音标 The machinist pressed his ear to the instrument in order to listen and tell where the abnormal sound came from . 机械师将耳朵紧贴在仪器上 , 想听出和找出 反常 的声音来自哪里 . the abnormal sound 反常的声音 abnormal [ æbˈnɔːməl ] (

  • 问题 由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 cobra 时,出现了以下报错: # go get -u github.com/spf13/cobra/cobra package golang.org/x/text/transform: unrecognized import path "golang.org/x/text/transform"

  • 和上文类似,同样是在安装bleve这款全文搜索引擎上出现的问题。 编译错误信息 cannot find package "golang.org/x/text/unicode/norm" in any of: /Users/.../projects/go-projects/src/github.com/blevesearch/bleve/vendor/golang.org/x/text/ unico

  • 讲述权重归一化在文本在conv1d上和全连接层dense上的应用,参考了simple-effective-text-matching的实现   import numpy as np import tensorflow as tf def gelu(x): return 0.5 * x * (1 + tf.nn.tanh(x * 0.7978845608 * (1 + 0.044715 *

  • 根据 Go 开发团队和基本的算法测试,Go语言与C语言的性能差距大概在 10%~20% 之间。虽然没有官方的性能标准,但是与其它各个语言相比已经拥有非常出色的表现。 时下流行的语言大都是运行在虚拟机上,如:Java 和 Scala 使用的 JVM,C# 和 VB.NET 使用的 .NETCLR。尽管虚拟机的性能已经有了很大的提升,但任何使用 JIT 编译器和脚本语言解释器的编程语言(Ruby、Py

  • 输入 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct 之后再继续就行

 相关资料
  • NoRM是个包装了MongoDB的.NET程序库,简化了.NET操纵该文档数据库的过程。其主要特性有:强类型的接口、支持LINQ、支持.NET与Mono。 该提供器的主要特性有: 为MongoDB提供了一个强类型的接口 支持大多数常用的MongoDB命令 支持LINQ-to-MongoDB 兼容于.NET与Mono BSON到.NET CLR类型的双向序列化;BSON是MongoDB所用的JSON

  • norm 是一款轻巧,高效,实用的针对.NET开发的 orm ,它使用简单,大量语法参照 sql 语法,例如:OQL.From(model).Where(w => w.Compare(model.ID, "=", 388)).OrderBy(m => m.Asc(model.CreateDate)).Select().End;model为数据库表对应的映射实体。 norm 设计思路是:由OQL根据

  • NORM 是一个 PHP 简单的 ORM 框架,支持 MySQL 。

  • LiteIDE LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/ 源码地址 :https://github.com/visualfc/

  • 3.2. 安装C语言工具 Go的工具链采用C语言编写,构建需要安装以下开发工具: GCC, C语言标准库, Bison, make, awk, 和 ed (编辑器). 对于 OS X 系统,以上工具是Xcode的一部分。 对于 Ubuntu/Debian 系统,运行安装命令: sudo apt-get install bison ed gawk gcc libc6-dev make

  • 本文向大家介绍go语言工程结构,包括了go语言工程结构的使用技巧和注意事项,需要的朋友参考一下 Go是一门推崇软件工程理念的编程语言。 Go的代码必须放在工作区中。工作区其实就是一个对应于特定工程的目录,它应该包含三个子目录: src 用于以代码包的形式组织并保存Go源码文件。应该分为三类:库源码文件、命令源码文件、测试源码文件。 pkg 用于存放由go install命令构建安装后的代码包(库源