文档章节

Anycmd权限数据交换模块的概念

anycmd
 anycmd
发布于 2014/10/05 10:17
字数 1077
阅读 312
收藏 0

本文解释必要的概念,因为Anycmd权限数据交换模块接口的每一个参数都是有语义的,知道下面的概念可以帮助使用接口。

本体(Ontology)

本体是指一种“形式化的,对于共享概念体系的明确而又详细的说明”。进一步的了解可查询维基百科或百度百科,本协议中使用“本体”这个词汇时使用的是百科上的内涵。

本体元素(Element)

“教师”二字标识了一个本体,当A告诉B“张老师去年是教语文的今年教数学了”,B说“我跟他是大学同学,他是数学系的”,A说“原来如此”。这两个沟通中的人能够互相明白对方的意思首先是因为“老师”二字界定了本体,“张老师”三字定位了“实体”。而“教语文的”“教数学的”“数学系”是张老师的“属性值”,而“属性”在此命名为“本体元素”,如教师本体有“所教学科”、“学历”、“专业”、“从教年月”等本体元素。

实体(Entity)

实体是具体本体下的一个具体事物,这个事物可能存在物理世界的真实映射也可以是完全虚构的事物。实体有一个重要属性是必须可以“标识”,也就是说必定可以区分出两个实体的不同。在师生基础数据库中每一个教师是一个教师实体,每一个学生是一个学生实体。师生基础中心库为每一个教师和学生实体分配唯一的编号,这个编号就是实体的唯一标识,各业务系统通过该标识与中心系统交换信息。

本体动作(Action)

动作用以定义可以面向具体本体做些什么。如,可以创建教师、可以修改教师的信息、可以删除教师,所以教师本体上定义有编码为“Create”、“Update”、“Delete”的动作。动作是依赖于本体的,动作语义的解释依赖于本体。如果本体是“文档”则动作编码为“Create”、“Update”、“Delete”不再合适,“Upload”、“Download”、“Compress”、“UnCompress”更合适。

字典(InfoDic)

有些本体元素在实体上的取值不是任意的。当本体是“人”时,人有“民族”这个本体元素,本体元素“民族”的“数据类型”是字典型的。“教师”本体是“人”本体的一个子类,张老师是一个“实体人”,张老师的“民族属性”取值就不是任意的而是由教育部的“民族”字典限定的。

组织结构(Organization)

组织结构用以对具体本体的实体集进行单元划分。对于师生数据交换平台的“教师”和“学生”本体来说两者的组织结构巧合是一样的。师生实体集的组织单元是“区县”、“学校”、“电教馆”、“教科所”等这样的具有一定程度的稳定性的行政、企业、事业单位。组织结构和字典一样具有可枚举性质,整个北京市大约有上千个教育性质的组织结构,但组织结构与字典有一个重要的不同:组织结构具有层级性质,这体现在组织结构的编码上。

编码

计算机不擅长处理像“张老师”、“教语文的”、“他是数学系的”这样的信息。所以为了计算机化需要设计一种更利于计算机理解的语言。基本上各行各业都有国家级的相关编码标准。

  1. 将教师本体编码为“JS”、学生本体编码为“XS”、测试本体编码为“JSTest”。

  2. 本体元素编码来自教育部相关标准,本体元素类型和字典编码来自教育部标准。

  3. 组织结构编码来自国家学籍系统。

文中的教师、学生、北京市等具体实体都是虚构的。

权限数据交换架构图


© 著作权归作者所有

anycmd
粉丝 41
博文 10
码字总数 20998
作品 2
海淀
程序员
私信 提问
加载中

评论(1)

anycmd
anycmd 博主
那个数据交换模块中的本体概念是一个数据交换交换语义上下文,比如数据交换的时候可能会定一个一个编码为PrivilegeBigram的本体,然后在这个本体下定义编码为SubjectType、SubjectID、ObjectType、ObjectID等的本体元素,每一个本体元素的意义是什么以及它的数据类型是什么都被定义出来,然后各个节点遵循这套元数据进行数据交换。
权限管理中间件--Anycmd

权限系统干了什么? 给出一套方法,将系统中的所有功能标识出来,组织起来,托管起来,将所有的数据组织起来标识出来托管起来,然后提供一个简单的唯一的接口,这个接口的一端是应用系统一端...

anycmd
2014/10/07
25.8K
5
访问控制之9种元素

anycmd是个权限引擎: 使用者初始化这个引擎的状态,然后往这个引擎中输入一个运动的标识它会回答是否允许这个运动发生:允许、不允许、我异常了(权限引擎异常了)。 如何标识一个运动?有这...

anycmd
2014/10/17
431
1
开源权限引擎,与邪恶主体战斗到底

控制权限就是控制运动 所有的运动都应该是可以控制的。比如var age = 30;这么一条赋值语句,这个语句中有个动词“=”,它的意思是赋值,赋值是动词。赋值导致了系统状态的变更,可以导致系统...

anycmd
2015/01/13
896
8
开源权限引擎-anycmd视频介绍《anycmd筑基》

用于帮助群友和感兴趣的同学快速知晓anycmd是什么?权限引擎是什么?应群友要求昨天用QQ群录制了一个视频,现已未做任何剪辑放在了土豆上分享大家。 第一次录视频,有改进余地。欢迎吐槽 视频...

anycmd
2014/12/15
13
0
开源权限引擎-anycmd视频介绍《anycmd筑基》

用于帮助群友和感兴趣的同学快速知晓anycmd是什么?权限引擎是什么?应群友要求昨天用QQ群录制了一个视频,现已未做任何剪辑放在了土豆上分享大家。 第一次录视频,有改进余地。欢迎吐槽 视频...

anycmd
2014/12/15
625
2

没有更多内容

加载失败,请刷新页面

加载更多

c语言实现Sqlite3的创建db和增删改查db操作

SQLite,是一款轻型的数据库,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中使用广泛,现在准备学习一下sqlite3的使用方法并写一个测试demo,后面在项目智能...

jorin_zou
14分钟前
3
0
【2019年8月版本】OCP 071认证考试最新版本的考试原题-第2题

choose three Which three are true about the CREATE TABLE command? A) It can include the CREATE...INDEX statement for creating an index to enforce the primary key constraint. B) ......

oschina_5359
17分钟前
3
0
如何在二维码中循环批量插入图片

现在二维码种类比较多,为了突出二维码的个性及吸引客户,很多朋友都喜欢在二维码上插入图片。想要每个二维码都与众不同,但是有的时候需要批量插入图片数量有限,如果制作的二维码比较多的话...

中琅软件
18分钟前
4
0
LTR那点事—AUC及其与线上点击率的关联详解

LTR(Learning To Rank)学习排序是一种监督学习(SupervisedLearning)的排序方法,现已经广泛应用于信息索引,内容推荐,自然语言处理等多个领域。以推荐系统为例,推荐一般使用多个子策略...

达观数据
19分钟前
3
0
IntelliJ 如何显示代码的代码 docs

希望能够在 IntelliJ 代码上面显示方法的 docs。 如何进行显示? 你可以使用 Ctrl + Q 这个快捷键来查看方法的 Docs。 https://blog.ossez.com/archives/3061...

honeymoose
22分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部