schema 订阅
Schema
信息
操作系统
未知
开发语言
Java
开源协议
未知
Schema
Schema是一个利用RDF与RDF Schema进行存储,查询,讨论(reasoning )的Java开源框架.Sesame既可以当作RDF与 RDF Schema的数据库或当作一个Java 库用来为应用程序提供RDF的功能.
收起全文
精华内容
下载资源
问答
  • schema 千次阅读
    2018-12-07 18:13:34

    从网上摘的一个比喻,很形象的解释了什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User,不妨一看。

    “我们可以把Database看作是一个大仓库。仓库分了很多很多的房间,Schema就是其中的房间。一个Schema代表一个房间。Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了。然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table。现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西。如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。”

    更多相关内容
  • 解析 JSON Schema 并解析$ref字段。 安装 $ npm install json-schema-parser 用法 var json = require ( "./spec/fixtures/schema.json" ) ; var parser = require ( "json-schema-parser" ) ; var schema = ...
  • JSON Schema 生成库——json-schema-inferrer(java版).rar
  • JSON Schema(application / schema + json)有几个目的,其中一个是JSON实例验证。本文档为JSON Schema指定了一个词汇表,用于描述JSON文档的含义,为使用JSON数据的用户界面提供提示,以及对有效文档的schema进行...
  • json转换jsonschema

    2019-08-12 04:56:09
    json转换json schema
  • xmlschema-core-2.2.1.jar

    2018-07-17 10:22:33
    如果是maven依赖,可以在pom.xml中引入以下配置 <groupId>org.apache.ws.xmlschema <artifactId>xmlschema-core <version>2.2.1 </dependency>
  • 通过json报文,自动生成schema
  • JSON Schema基础入门

    千次阅读 2021-11-24 22:56:01
    之前的文章,已介绍过C语言格式的cJSON库的使用,本篇来介绍与JSON紧密相关的JSON Schema。 1 问题引入 假设实际的项目中,我们使用json来描述一款产品的信息,该产品具有: 标识符: productId 商品名称: ...

    JSON,是一种轻量级的数据交换格式,基本结构是“名称/值”对的集合,非常易于人阅读和编写,也易于机器解析和生成。

    之前的文章,已介绍过C语言格式的cJSON库的使用,本篇来介绍与JSON紧密相关的JSON Schema。

    1 问题引入

    假设实际的项目中,我们使用json来描述一款产品的信息,该产品具有:

    • 标识符: productId
    • 商品名称: productName
    • 销售价格: price
    • 一组可选的标签:tags

    用JSON表示,如下:

    {
      "productId": 1,
      "productName": "A green door",
      "price": 12.50,
      "tags": [ "home", "green" ]
    }
    

    看起来很简洁明了,但这种描述也留有一些问题,比如:

    • productId的含义是什么?
    • productName是必须的吗?
    • price可以为零吗?
    • tags都是字符串吗?

    假如对于这里的JSON数据,我们随意赋予些不符合实际的数值,则会造成意外的影响。因此,就需要有一种规则来约束JSON数据的有效性,这就要通过JSON Schema来描述了。

    2 JSON Schema

    JSON Schema是一个提议的 IETF 标准,用于解决前面提到的数据格式的描述问题。JSON Schema本身使用的也是JSON数据格式

    下面来看一下JSON Schema的基本语法

    2.1 Schema的开头

    我们从四个关键字的属性开始

    • $schema:用于指定JSON Schema版本信息,可以省略。注:该关键字若使用,其值必须使用官方提供的值,不能自己随便写。
    • $id: 定义了Schema的 URI,以及Schema内其他 URI 引用解析所依据的基本URI,可以省略
    • titledescription: 仅是描述性的。它们不会对正在验证的数据添加约束,可以省略
    • type: 验证JSON数据的第一个约束。此例子中,我们的JSON数据必须是一个JSON对象。

    下面就是一个基本的JSON Schema:

    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://example.com/product.schema.json",
      "title": "Product",
      "description": "A product in the catalog",
      "type": "object"
    }
    

    从以上例子中,我们简单了解了JSON Schema开头的结构:

    • Schema关键字$schema$id
    • Schema注释titledescription
    • 验证关键字type

    2.2 属性定义

    type关键字描述了json数据的整体类型,那json数据内部元素如何描述呢,就要再借助properties关键字了。

    再介绍一个required关键字,用来描述JSON数据中哪些关键字是必须的,例如productId是标识产品的唯一数值,是必需的。

    将属性信息加入后的JSON Schema如下:

    {
      "title": "Product",
      "description": "A product from Acme's catalog",
      "type": "object",
      "properties": {
        "productId": {
          "description": "The unique identifier for a product",
          "type": "integer"
        }
      },
      "required": [ "productId" ]
    }
    

    模仿对产品IDproductId的描述,继续来补充产品名称productName

    productName也是必需的,它和productName之间实际上没有任何区别,因为计算机通常关注ID,而人类通常关注名称。注意required关键字是一个字符串数组,它可以记录多个值。

    补充后的JSON Schema如下:

    {
      "title": "Product",
      "description": "A product from Acme's catalog",
      "type": "object",
      "properties": {
        "productId": {
          "description": "The unique identifier for a product",
          "type": "integer"
        },
        "productName": {
          "description": "Name of the product",
          "type": "string"
        }
      },
      "required": [ "productId", "productName" ]
    }
    

    此时,根据JSON Schema的描述,我们的JSON数据是这样:

    {
        "productId": 1,
        "productName": "A green door"
    }
    

    2.3 深入了解属性

    假设产品不是免费的,即price都是大于0,如何描述?

    我们的JSON数据现在添加了price数据:

    {
        "productId": 1,
        "productName": "A green door",
        "price": 12.50
    }
    

    我们可以用exclusiveMinimum关键字来验证指定值的最小值。

    price补充后的JSON Schema如下:

    {
      "title": "Product",
      "description": "A product from Acme's catalog",
      "type": "object",
      "properties": {
        "productId": {
          "description": "The unique identifier for a product",
          "type": "integer"
        },
        "productName": {
          "description": "Name of the product",
          "type": "string"
        },
        "price": {
          "description": "The price of the product",
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "required": [ "productId", "productName", "price" ]
    }
    

    接下来,再来看一下tags关键字。假如这个产品有如下特性:

    • 如果有标签,则必须至少有一个标签,
    • 标签必须是文本。
    • 标签必须是唯一的,产品内无重复。
    • 标签不是必须要有的。

    根据以上要求,有对应的Schema描述:

    • tagstype验证关键字为array,用minItems关键字来验证数组中最少的元素个数。
    • items关键字来定义数组中出现的内容。本例中,type验证关键字的值就是string
    • uniqueItems关键字来验证数组中的元素是相对彼此是唯一的。
    • 不把tags添加到required验证关键字数组中,表示它是可选的。

    tag添加后的JSON Schema如下:

    {
      "title": "Product",
      "description": "A product from Acme's catalog",
      "type": "object",
      "properties": {
        "productId": {
          "description": "The unique identifier for a product",
          "type": "integer"
        },
        "productName": {
          "description": "Name of the product",
          "type": "string"
        },
        "price": {
          "description": "The price of the product",
          "type": "number",
          "exclusiveMinimum": 0
        },
        "tags": {
          "description": "Tags for the product",
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "uniqueItems": true
        }
      },
      "required": [ "productId", "productName", "price" ]
    }
    

    此时,根据JSON Schema的描述,我们的JSON数据是这样:

    {
        "productId": 1,
        "productName": "A green door",
        "price": 12.50,
        "tags": [ "home", "green" ]
    }
    

    2.4 嵌套的数据结构

    到目前为止,我们的JSON数据只有一个级别。

    那多级的嵌套JSON数据(JSON数据内部的元素又是一个JSON对象),如何用JSON Schema描述呢?比如对该产品添加尺寸信息dimensions,它本身又是一个JSON对象:

    {
        "productId": 1,
        "productName": "A green door",
        "price": 12.50,
        "tags": [ "home", "green" ],
        "dimensions": {
            "length": 7.0,
            "width": 12.0,
            "height": 9.5
        }
    }
    

    对于嵌套的数据,则JSON Schema也继续进行对应的描述即可。

    dimensions添加后的JSON Schema如下:

    {
      "title": "Product",
      "description": "A product from Acme's catalog",
      "type": "object",
      "properties": {
        "productId": {
          "description": "The unique identifier for a product",
          "type": "integer"
        },
        "productName": {
          "description": "Name of the product",
          "type": "string"
        },
        "price": {
          "description": "The price of the product",
          "type": "number",
          "exclusiveMinimum": 0
        },
        "tags": {
          "description": "Tags for the product",
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "uniqueItems": true
        },
        "dimensions": {
          "type": "object",
          "properties": {
            "length": {
              "type": "number"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            }
          },
          "required": [ "length", "width", "height" ]
        }
      },
      "required": [ "productId", "productName", "price" ]
    }
    

    注:为了简洁起见,例子中省略了对dimensionsdescription描述

    3 使用Shema验证JSON格式

    有许多在线的网站可以通过JSON Schema来验证JSON数据,比如这里: https://jsonschemalint.com/#/version/draft-07/markup/json

    将本篇使用的JSON Schema复制到浏览器左边框中,JSON数据复制到右边框中,可以看到两个框都是绿色的,且右下角提示验证通过。

    我们手动搞些错误出来,比如将JSON数据中的price字段删掉,则整个边框变红,下面提示缺少price。

    再比如,将tags数组中增加一个重复的green标签,则也会进行错误提示。这些都是JSON Schema所起的实际作用。

    4 总结

    本篇主要介绍了三点:

    • JSON Schema与JSON的关系:JSON Schema是对JSON数据格式的一种描述。
    • JSON Schema的基本用法,通过一些常用的验证关键字来了解JSON Schema的用法:
      • titledescription: 仅是描述性的,可以省略
      • type: 验证JSON数据的类型
      • properties:描述JSON内部数据的具体属性
      • required:描述JSON数据中哪些关键字是必须的
      • exclusiveMinimum:验证指定值的最小值
      • minItems:验证数组中最少的元素个数
      • items:用来定义数组中出现的内容
      • uniqueItems:验证数组中的元素是相对彼此是唯一的。
    • 使用JSON Schema来验证对应的JSON数据是否符合要求。
    展开全文
  • 什么是schema

    千次阅读 2021-12-14 10:01:58
    目录 1、定义 2、区别 (1)MySQL中的schema (2)PostgreSQL中的schema ...一个schema实例可以包含多个schema,可以给不同的用户创建不同的schema,并且他们都在同一数据库实例下面。 2、区

    目录

    1、定义

    2、区别

    (1)MySQL中的schema

    (2)PostgreSQL中的schema

    (3)SQL Server中的schema

    (4)Oracle中的schema

    3、总结


    1、定义

    在SQL环境下,schema是数据库对象(表、索引、视图等)的集合。


    说明:在schema之上是数据库实例,即CREATE DATABASE后得到的内容。一个schema实例可以包含多个schema,可以给不同的用户创建不同的schema,并且他们都在同一数据库实例下面。

    2、区别

    不同数据库对schema的定位不同。

    (1)MySQL中的schema

    MySQL中可以认为,物理层面schema与database同义,即schema的名称和数据库的实例名称相同,一个数据库有一个schema。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE。


    (2)PostgreSQL中的schema

    在PostgreSQL中,可以创建一个数据库,然后在数据库中创建不同的schema,每个schema又有各自的表,索引等。


    (3)SQL Server中的schema

    在SQL Server中的schema包含了数据库的表、字段、数据类型以及主键和外键的名称。
    CREATE SCHEMA语句创建了一个单独定义到数据库的模式,一旦创建了模式,就可以往模式中添加用户和对象。


    (4)Oracle中的schema

    Oracle中的schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。

    3、总结

    schema这个词可以用在很多不同的环境中,在特定数据库管理系统创建一个schema时,一定要查看该系统是如何定义schema的。

    展开全文
  • 【Kafka】Kafka Schema Registry 原理

    千次阅读 2020-08-21 22:44:47
    Confluent 公司为了能让 Kafka 支持 Avro 序列化,创建了 Kafka Schema Registry 项目,项目地址为 https://github.com/confluentinc/schema-registry 。对于存储大量数据的 kafka 来说,使用 Avro 序列化,可以减少...

    在这里插入图片描述

    1.概述

    原文:https://www.dazhuanlan.com/2019/12/10/5deec4add22d4/

    Confluent 公司为了能让 Kafka 支持 Avro 序列化,创建了 Kafka Schema Registry 项目,项目地址为 https://github.com/confluentinc/schema-registry 。对于存储大量数据的 kafka 来说,使用 Avro 序列化,可以减少数据的存储空间提高了存储量,减少了序列化时间提高了性能。 Kafka 有多个topic,里面存储了不同种类的数据,每种数据都对应着一个 Avro schema 来描述这种格式。Registry 服务支持方便的管理这些 topic 的schema,它还对外提供了多个 restful 接口,用于存储和查找。

    Avro 序列化示例
    Avro 序列化相比常见的序列化(比如 json)会更快,序列化的数据会更小。相比 protobuf ,它可以支持实时编译,不需要像 protobuf 那样先定义好数据格式文件,编译之后才能使用。下面简单的介绍下 如何使用 Avro 序列化:

    数据格式文件

    展开全文
  • JsonSchema 使用fastjsonschema来校验数据 # 导入验证器 import json import fastjsonschema # 读取schema with open('../schema/oneof-schema.json', encoding='utf8') as f: my_schema = json.load(f) # json...
  • Greenplum 数据库和schema管理

    千次阅读 2020-05-04 22:47:49
    Greenplum 数据库和schema管理 文章目录Greenplum 数据库和schema管理关于模板和默认数据创建一个数据库克隆一个数据库创建一个不同Owner的数据库查看数据库的列表修改一个数据库删除一个数据库Scheme管理 一个...
  • 当我们写了一遍vaule.yaml,再写一遍value.schema.json这是非常繁琐的。因此,有这样一块关于helm的插件使用一条命令即可达到目的。 helm-schema-gen 2. 安装 该插件适用于 Helm v2 和 v3 版本,因为它与 Helm 二...
  • 【Kafka】Confluent Schema Registry

    千次阅读 2020-09-10 23:10:57
    1. schema 注册表 无论是使用传统的Avro API自定义序列化类和反序列化类还是使用Twitter的Bijection类库实现Avro的序列化与反序列化,这两种方法都有一个缺点:在每条Kafka记录里都嵌入了schema,这会让记录的大小...
  • 数据库中的Schema和Database的区别

    千次阅读 2021-02-01 18:30:26
    在mysql中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的,目前我只能理解为在mysql中schema<==>database;数据库中的user和schema的关系:假如我们想...
  • PySpark中加载schema的几种方式

    千次阅读 2022-03-21 15:13:01
    而它目前的代码单元测试这一块是完全崩了,其中有几个已经写了的测试例子也无法运行,原因是它会加载avro的schema文件作为目标schema的转化和验证。但是因为处理逻辑的变更已经增加了一些列,可以avro文件并没有一直...
  • 1 、Confluent Schema Registry 安装教程 Schema Registry的各个发现行版本的下载链接 上传到linux系统进行解压安装。 本教程使用外部以安装好的Kafka集群不使用内部默认的。 修改confluent-5.3.1/etc/schema-...
  • 使用JSON Schema和Vue.js生成表单

    千次阅读 2020-07-21 06:25:14
    vue-json-schema (vue-json-schema) Vue component form based on JSON Schema. 基于JSON模式的Vue组件形式。 View demo 查看演示 Download Source 下载源 构建设置 (Build Setup) # install dependencies npm...
  • DB2模式schema

    千次阅读 2020-12-29 00:26:45
    DB2 Schema是在数据库中按逻辑分类的命名对象的集合。在数据库中, 无法创建多个具有相同名称的数据库对象。为此, 架构提供了一个组环境。你可以在一个数据库中创建多个模式, 也可以在具有不同名称的数据库组中创建多...
  • 数据库Schema

    千次阅读 2021-07-01 20:45:36
    在数据库中,schema表示数据库的组织和结构
  • XmlSchema-1.4.7 jar包

    热门讨论 2012-04-16 14:34:32
    好不容易找到的XmlSchema-1.4.7 jar包,需要的同学速度下载吧。不黑心,只要1分~~~
  • 在对用户赋予 information_schema 权限的时候发如下错误: [root@127.0.0.1][test_chen]> grant select on information_schema.innodb_sys_tables to 'test_user'@'%'; ERROR 1044 (42000): Access denied for ...
  • 【XML学习 三】XML Schema原理及使用

    千次阅读 2018-07-03 08:49:37
    经历了第一篇XML入门和第二篇DTD的理解,现在终于可以进入到XML Schema的学习了,正如前边提到的,Schema实际上可以说是DTD的一种扩展,一种替代品,或者可以说是DTD的一种优化。 Schema基础 Schema用途和能力...
  • JSON Schema了解一下?

    千次阅读 2019-03-20 23:30:33
    如果说typescript是JS with types,那json schema就是json with types ↑↑ 不是很理解这个logo(⊙﹏⊙) 为啥会出现json schema? json schema也是理科生搞出来的一种标准,因为我们程序员没工夫搞这些标准,就...
  • Python的jsonschema模块详解

    万次阅读 2019-04-12 12:28:33
    jsonschema 是 JSON Schema 的Python实现(支持Python 2.7+ 包括Python3)。 >>> from jsonschema import validate >>> # A sample schema, like what we'd get from json.load() >>> ...
  • Schemaschema文档

    千次阅读 2019-06-19 17:34:01
    Schemaschema文档 技术上说schema是元数据的一个抽象集合,包含一套schema component: 主要是元素与属性的声明、复杂与简单数据类型的定义。这些schema component通常是在处理一批schema document时被创建。...
  • Spring配置文件schema约束

    千次阅读 2018-04-26 11:26:01
    若引入的schema非w3c组织定义的,必须指定schema文件的位置,schema文件的位置由schemaLocation指定。  5.引入多个schema需要使用别名,xmlns:alias 配置文件解析:    1.beans:整个配置文件的根节点,包含一个或多个...
  • Apache Calcite - schemaschema - 常用类...
  • 介绍 在json-schema官网上可以看到,java版本的validator库推荐了以下几种方案: Snow 2019-09, draft-07, -06 Uses Maven for the project and Gson under the hood. (GNU Affero General Public License v3.0) ...
  • 官网原文标题《Schema Registry》 翻译时间:2018-10-28 官网原文地址:http://pulsar.apache.org/docs/en/concepts-schema-registry/ 译者:Scheme注册是Pulsar保证数据类型安全的机制。 --------------------...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,015,338
精华内容 406,135
关键字:

schema