Tdtl - TKeel Digital Twins Language (TDTL) is language of Digital Twins in tKeel

TQL

TKeel Digital Twins Language (TDTL) is language of Digital Twins in tKeel, which solves the problem:

  • define the entity(Digital Object)
  • define the relationship(Digital Object)
  • data transmission between entities
Similar Resources

🚀 Golang, Go Fiber, RabbitMQ, MongoDB, Docker, Kubernetes, GitHub Actions and Digital Ocean

🚀 Golang, Go Fiber, RabbitMQ, MongoDB, Docker, Kubernetes, GitHub Actions and Digital Ocean

Bookings Solução de cadastro de usuários e reservas. Tecnologias Utilizadas Golang MongoDB RabbitMQ Github Actions Docker Hub Docker Kubernetes Digita

Feb 18, 2022

Go decoder for EU Digital COVID Certificate (EUDCC) QR code data

Go Corona QR Code Decoder This repository contains a decoder for EU Digital COVID Certificate (EUDCC) QR code data, written in Go. If you got vaccinat

Nov 30, 2022

Apollo 💎 A Unix-style personal search engine and web crawler for your digital footprint.

Apollo 💎 A Unix-style personal search engine and web crawler for your digital footprint.

Apollo 💎 A Unix-style personal search engine and web crawler for your digital footprint Demo apollodemo.mp4 Contents Background Thesis Design Archite

Dec 27, 2022

Digital planner for Supernote and ReMarkable

Digital planner for Supernote and ReMarkable

latex-yearly-planner PDF planner designed for e-ink devices. Download latest PDF with newest features and best bugs from the latest release. Visit the

Jan 9, 2023

Golang Kalkancrypt Wrapper - simple digital signature auth service

Golang Kalkancrypt Wrapper - simple digital signature auth service

Golang Kalkancrypt Wrapper WIP ⭐ Star on GitHub — it motivates me a lot! Overview Golang Kalkancrypt Wrapper - это простой веб-сервис для аутентификац

Dec 1, 2022

Control your legacy Reciva based internet radios (Crane, Grace Digital, Tangent, etc.) via REST api or web browser.

reciva-web-remote Control your legacy Reciva based internet radios (Crane, Grace Digital, Tangent, etc.) via REST api or web browser. Usage This progr

May 3, 2022

EU Digital Covid Certificate utilities in Go [Create, Validate and Parse Green-Pass/EU-DCC]

go-dcc EU Digital Covid Certificate utilities in Go [Create, Validate and Parse Green-Pass/EU-DCC] Repo work in-progress CLI Usage: ######Create and S

Dec 23, 2021

Madsportslab digital scoreboard

mboard-go mboard backend server requirements golang 1.8.x sqlite3 build git clone [email protected]:madsportslab/mboard-go go get github.com/eknkc/am

Nov 27, 2021

Core is the next-generation digital data engine.

Core is the next-generation digital data engine.

tKeel-Core The digital engine of world 🌰 Core is the data centre of the tKeel IoT Open Platform, a high-performance, scalable and lightweight next-ge

Mar 28, 2022

Very tiny program for updating A records on digital ocean.

DDNS Tiny library for updating DNS records on digital ocean. Usage ddns does only one thing, update a domain's root A record inside of DigitalOcean wi

Dec 17, 2021

Go backend for the Vue-Go personal digital library application

Motivation Create a backend that connects to a cloud storage, so to store and retrieve my personal books. Barebone application State “DONE” from “NEXT

Dec 23, 2021

This project is meant to make you code a digital version of an ant farm

This project is meant to make you code a digital version of an ant farm. Create a program lem-in that will read from a file (describing the ants and the colony) given in the arguments. Upon successfully finding the quickest path, lem-in will display the content of the file passed as argument and each move the ants make from room to room. How does it work? You make an ant farm with tunnels and rooms. You place the ants on one side and look at how they find the exit.

Dec 24, 2021

A simple digital clock written in go to show time in hh : mm : ss format in console

Go console clock a simple digital clock written in go to show time in "hh : mm :

Feb 3, 2022

Open source forensic software to analyze and present digital evidence.

Open source forensic software to analyze and present digital evidence.

Go Forensics Core Open source forensic software to analyze digital evidence to be presented in court. The core of Go Forensics PostgreSQL The core use

May 8, 2022

Generate code for any language, with any language.

gocog - generate code for any language, with any language gocog v1.0 build 20130206 Binaries for popular OSes are available on the Downloads page of t

Aug 5, 2022

Floppa programming language inspired by the brainf*ck programming language. Created just for fun and you can convert your brainf*ck code to floppa code.

Floppa Programming Language Created just for fun. But if you want to contribute, why not? Floppa p.l. inspired by the brainf*ck programming language.

Oct 20, 2022

Please is a cross-language high-performance extensible build system for reproducible multi-language builds.

Please is a cross-language build system with an emphasis on high performance, extensibility and reproducibility. It supports a number of popular languages and can automate nearly any aspect of your build process.

Dec 30, 2022

Q Language : A script language for Go

Q Language : A script language for Go

Q Language - A script language for Go 语言特色 与 Go 语言有最好的互操作性。可不进行任何包装即可直接使用 Go 语言的函数、类及其成员变量和方法。 有赖于 Go 语言的互操作性,这门语言直接拥有了一套非常完整且您十分熟悉的标准库,无额外学习成本。 与 Go

Sep 5, 2022

T# Programming Language. Something like Porth, Forth but written in Go. Stack-oriented programming language.

The T# Programming Language WARNING! THIS LANGUAGE IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! Something like Forth a

Jun 29, 2022
Comments
  • implement inner-sub & mapping from expression.

    implement inner-sub & mapping from expression.

    通过实现表达式映射实体属性是否对使用更加友好?

    现有的 mapper 使用 TQL 实现 实体与实体之间的 订阅 和 表达式计算。

    insert into device123 select device234.a as a
    

    Expression

    # 为 device123 添加 expression
    a = device234.a // == device234.a as a
    

    snippet

    func NewExpr(sql string, extFunc map[string]ContextFunc) (TDTL, error) {
    	parse, listener := parse(sql)
    	antlr.ParseTreeWalkerDefault.Walk(listener, parse.Field_elem())
    	err := listener.error()
    	if err != nil {
    		return nil, err
    	}
    	return &tdtl{
    		listener: listener,
    		target:   listener.target,
    		sources:  listener.sources,
    		fields:   listener.fields,
    		extFunc:  extFunc,
    	}, nil
    }
    

    tests

    func TestExpr(t *testing.T) {
    	exprIns, err := NewExpr("device123.a + device234.a as a", nil)
    	assert.Nil(t, err)
    	res, err := exprIns.Exec(map[string]Node{
    		"device123.a": NewInt64(20),
    		"device234.a": NewInt64(20),
    	})
    
    	assert.Nil(t, err)
    	t.Log(res)
    }
    // output: map[a:]
    
  • [feat] Add schema support

    [feat] Add schema support

    Digital Object Schema

    数字对象 Schema 用来描述tKeel 中的数字对象。 数字对象是面向数据的核心抽象,通过这个核心抽象可以实现

    • 高速的消息处理以及存储和订阅使用,同事提供给你前端WS接口,方便应用构建
    • 可靠的时序存储以及查询,标准化接口方便您直接对接Grafna等开源工具
    • 可扩展的全文检索能力,后端提供基于对象定义的全文检索能力

    目标

    • 定义基础的核心抽象:Event、Telemetry、Property
    • Event 对应消息,可以直接存储以及查看
    • Telemetry 对应遥测信息,可以通过时序接口查询以及订阅
    • Property 对应属性信息,可以通过检索借口查询

    概念定义

    • Schema:Schema 基于 Json-Schema 规范,用来约束和定义数字对象,
      • Schema 类似于一个数字对象的 Class
      • 特定的定义 Event、Telemetry、Property会具有对应的行为
    • 数字对象(实体): 具体的数据抽象,例如设备、空间、服务等。也可称之为实体。
      • 每一个实体都必须从属于一个 Namespace
    • Namespace(NS):领域空间(NS)内的数字对象具有相似性
    • NS Schema:领域空间可以设置一个默认 Schema,所有该空间下的实体都具有该Schema的定义以及行为
      • NS Schema 可以认为是一个领域空间内的基类,该空间下所有的Schema都是由该基类拓展而来
    • 实体 Schema:一个实体的Schema用来具体描述该实体的所有行为,注意
      • 实体 Schema 的定义不能与NS Schema冲突

    概要设计

    Digital Object Schema 作为 Json-Schema 规范的一个子集,不支持以下字段:

    • anyOf
    • oneOf
    • additionalProperties

    详细设计

    使用说明

Related tags
Gno language

Gno At first, there was Bitcoin, out of entropy soup of the greater All. Then, there was Ethereum, which was created in the likeness of Bitcoin,

Dec 24, 2022
A simple implementation of SHA-256 Algorith in Go Language

SHA-256 in Go This is not a serious/efficient implementation of SHA-256 in Go. You can use the official package for that. This is just for learning pu

Sep 22, 2022
Go language implementation of a blockchain based on the BDLS BFT protocol. The implementation was adapted from Ethereum and Sperax implementation

BDLS protocol based PoS Blockchain Most functionalities of this client is similar to the Ethereum golang implementation. If you do not find your quest

Oct 14, 2022
This library aims to make it easier to interact with Ethereum through de Go programming language by adding a layer of abstraction through a new client on top of the go-ethereum library.

Simple ethereum client Simple ethereum client aims to make it easier for the developers to interact with Ethereum through a new layer of abstraction t

May 1, 2022
This is the repository I made while learning Go Programming Language & You can follow this repository to learn it
This is the repository I made while learning Go Programming Language & You can follow this repository to learn it

Golang Arena ?? Hey Folks! Welcome to Golang Arena . This is the repository I made while learning Go Programming Language & You can follow this reposi

Jan 31, 2022
Parallel Digital Universe - A decentralized identity-based social network

Parallel Digital Universe Golang implementation of PDU. What is PDU? Usage Development Contributing PDU PDU is a decentralized identity-based social n

Nov 20, 2022
Digital Signal Processing for Go

GO-DSP go-dsp is a digital signal processing package for the Go programming language. Packages dsputils - utilities and data structures for DSP fft -

Jan 3, 2023
Go Hosting Solution for AWS, Google Could and Digital Ocean
Go Hosting Solution for AWS, Google Could and Digital Ocean

Furnace Intro Brief Explanation Here is a very short description of what Furnace does in a handy IKEA manual format. In More Depth AWS Cloud Formation

Jan 3, 2023
A dead simple tool to sign files and verify digital signatures.

minisign minisign is a dead simple tool to sign files and verify signatures. $ minisign -G

Dec 16, 2022
Software for archiving my digital stuff like tweets

rsms's memex Software for managing my digital information, like tweets. Usage First check out the source and build. You'll need Make and Go installed.

Nov 17, 2022