当前位置: 首页 > 软件库 > 大数据 > 数据查询 >

Logica

逻辑编辑语言
授权协议 Apache
开发语言 Python
所属分类 大数据、 数据查询
软件类型 开源软件
地区 不详
投 递 者 万俟穆冉
操作系统 跨平台
开源组织 Google
适用人群 未知
 软件概览

Logica,一种新的开源逻辑编程语言。 Logica 是 Yedalog(Google 早期开发的一种语言)的继承者,是一种类似于 Datalog 的逻辑编程语言。其代码会编译成 SQL,并在 Google BigQuery 上运行(实验性地支持 PostgreSQL 和 SQLite)。

此外,Logica 支持 SQL 所缺乏的干净和可重用的抽象机制,支持模块和导入,可以在交互式的 Python 笔记本上使用。

代码示例

查找 30 以内的质数

编写primes.l程序:

# Define natural numbers from 1 to 29.
N(x) :- x in Range(30);
# Define primes.
Prime(prime: x) :-
  N(x),
  x > 1,
  ~(
    N(y),
    y > 1,
    y != x,
    Mod(x, y) == 0
  );

运行primes.l

$ logica primes.l run Prime
+-------+
| prime |
+-------+
|     2 |
|     3 |
|     5 |
|     7 |
|    11 |
|    13 |
|    17 |
|    19 |
|    23 |
|    29 |
+-------+
  • Logica是Datalog家族的一种语言,可以编译成标准sql。Logica的大部分语法都遵循Yedalog,这是Google早期开发的一种语言。Logica的创建是为了同时享受简洁清晰的逻辑编程和基于SQL的系统(如BigQuery)的全部功能。 Logica在语义上等同于StandardSQL。它很容易编写,最重要的是读取用Logica编写的中型和大型查询。这些查询可以编译成Standard

  • Logica SMPP API在使用中,存在一些问题,列举如下: 1. 支持长短信,在SubmitSM.java类中加入方法setShortMessageData /** * added by zcg 2012-01-18 * 处理长短信 * * @param buffer * @throws WrongLengthOfStringExcepti

 相关资料
  • 有人知道为什么这个循环总是针对不同于1或0的值,以及如何避免在输入字符时出现无休止的循环吗? }

  • 主要内容:语法,示例,创建回归模型逻辑回归是一种回归模型,其响应变量(因变量)具有分类值,如或。 它实际上是根据与预测变量相关的数学方程,来衡量二进制响应的概率作为响应变量的值。 逻辑回归的一般数学方程为 - 以下是使用的参数的描述 - y - 是响应变量。 x - 是预测变量。 a 和 b 是数字常数的系数。 用于创建回归模型的函数是函数。 语法 用于计算逻辑回归的函数的基本语法是 - 以下是使用的参数的描述 - formula

  • 语句和逻辑结构 #include <stdio.h> #include <stdlib.h> #include <Windows.h> //01.杂乱知识点: // 1.内存分配函数malloc(); // (1).分配单位:字节 // (2).分配方式: // 鲸吞+慢咽 // 2.内存分配注意事项: // 32位的单个进程一口气对多开辟2G

  • 主要内容:逻辑运算的结果,优先级现在假设有这样一种情况,我们的软件比较特殊,要求使用者必须成年,并且成绩大于等于60,该怎么办呢? 或许你会想到使用嵌套的 if 语句,类似下面这样的代码: 这种方法虽然能够行得通,但不够简洁和专业,我们可以将其压缩为一条 if else 语句: 是一个新的运算符,称为 逻辑运算符,表示 和 两个条件必须同时成立才能执行 if 后面的代码,否则就执行 else 后面的代码。 在高中数学中,我们就学

  • 逻辑层 App Service 小程序开发框架的逻辑层使用 JavaScript 引擎为小程序提供开发者 JavaScript 代码的运行环境以及京东小程序的特有功能。 逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并在小程序启动的时候运行,直到小程序销毁。这一行为类似 ServiceWorker,所以逻辑层也称之

  • 问题内容: 我试图更深入地了解后期和前置增量器,但以下表达式有些卡住: 我知道我在某个地方缺少逻辑,但是在哪里? 我尝试过的 从左到右(尽管我知道不建议这样做) 从内部支架开始,然后从那里开始。 谢谢您的帮助 PS:评论是我演算的细节 编辑1 我试图将硬编码值从表达式更改为其他值,结果总是 看这个例子: 该表达式在逻辑上应该相距不远,但确实可以打印出来。 当我使用负数时也会发生同样的情况: 编辑2

  • 从逻辑和有关运算创建的逻辑向量可以用于参考子数组。设X是普通的矩阵,L是由一些逻辑运算得到的同尺寸的矩阵。那么X(L)指定X的元素中L的元素非零的部分。 通过指定逻辑运算为下标表达式,这种下标可以一步完成。设有下列数据集。 x = 2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8 NaN 表示一次丢失的观察值,譬如对一份问卷调查中

  • 前面我们了解了如何把用户的请求分发到控制器,这小节我们就介绍大家如何来写控制器,首先我们还是从源码分析入手: package controllers import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (this *MainCont