OpenCyc:CycL Syntax(CycL语法)
来源:互联网 发布:china linux 编辑:程序博客网 时间:2024/05/18 02:40
CycL语法主要由以下几个部分构成:
常量(Constants)
常量用来表示特定的个体和集合,CycL常量都由#$(读hash-dollar)为前缀。CycL用常量来表示个体、集合、关系和属性值。
公式(Formulas)
公式用来描述参数间的关系,由圆括弧包围。例如:
(#$isa #$GeorgeWBush #$Person)
(#$likesAsFriend #$GeorgeWBush #$AlGore)
(#$BirthFn #$JacquelineKennedyOnassis)
上述前两个实例称为CycL的句子,后一个称为非原子项。
句子(Sentence)
在CycL中,句子用来形成断言(assertions,告诉Cyc某些事实)和查询(query,问Cyc某些事)。
每个句子都由真值函数开头(在参数0的位置),每个句子都返回一个真假值(true或者false)。真值函数总由小写字母开头,真值函数的类型包括谓词、逻辑连接词和量词。谓词型句子总是由一个谓词打头,并将谓词应用于其后的参数,如:
(#$isa #$GeorgeWBush #$Person)
(#$likesAsFriend #$GeorgeWBush #$AlGore)
至于逻辑连接词和量词型的真值函数我们随后再谈。
非原子项(Non-Atomic Terms)
非原子项总是由函数标示开头。函数获得其参数并得到一个新值。在CycL中,函数通常由Fn结尾。因此,非原子项总是返回一个项,它可以象其它项一样用在CycL需要使用项的地方。
复杂公式(Complex Formulas)
通过应用逻辑连接词,量词和变量,可以构成复杂的公式。
CycL中的变量是以?开头的,变量名应该是唯一的。并且没有被量词修饰的变量称为自由变量。以下是几个例子:
(#$thereExists ?PLANET
(#$and
(#$isa ?PLANET #$Planet)
(#$orbits ?PLANET #$Sun)))
该实例表明至少存在一颗行星围绕太阳转。
(#$forAll #$PERSON1
(#$implies
(#$isa ?PERSON1 #$Person)
(#$thereExist ?PERSON2
(#$and
(#$is ?PERSON2 #$Person)
(#$loves ?PERSON1 ?PERSON2)))))
该实例表明每个人总会爱至少一个人。
- OpenCyc:CycL Syntax(CycL语法)
- poj 1946 Cow Cycl…
- 抽象语法树(Abstract Syntax Tree)
- clisp 记录:2. 语法(Syntax)
- OpenCyc:Fundamental Expression Types(基本表达类型)
- 1.6 - [syntax] - 【语法】
- Basic Syntax基本语法
- Protocol Buffer 语法(syntax)
- JSP - Syntax(语法)
- [Angular2] Template Syntax(模板语法)-(2) 企
- 语言(Language)和语法(Syntax)简述
- ASN.1抽象语法标记(Abstract Syntax Notation One)
- React中文教程翻译文档 - JSX Syntax(语法)
- erlang 二进制与位语法(bit syntax)
- vim自定义语法高亮(syntax highlight)设置流程
- PostgreSQL数据库Dig7—SQL 语法(Syntax)
- jquery-syntax动态语法着色
- 什么是流利语法Fluent Syntax
- ip命令(2)
- OpenCyc:Fundamental Expression Types(基本表达类型)
- 批处理文件写法!
- .net中的序列化和反序列化
- 现在的我应该做什么??
- OpenCyc:CycL Syntax(CycL语法)
- freelance 自由职业者网站调查
- 关于RDF的一些概念
- ip命令手册2
- ip命令手册(三)
- 高效率的3D图形数学库
- 软件工程的疑惑
- 读书笔记之:Advanced Linux Programming
- kaiti