C
creation-zy
Unregistered / Unconfirmed
GUEST, unregistred user!
昨天初步构思了知识对象的结构,整理一下贴出来,请大家提提意见。
知识对象拥有若干个属性。通常情况下,属性就是子对象。“属性”被存放在专门的属性
定义表中,例如:值、年龄、速度、长度等等。属性可以有分类结构,有全称和简称。
下面是使用例子:
ObjA.Value == ObjA.Prop("Value").Value == ObjA.Prop("/Value").Value == ObjA.Prop(ValueProp).Value
如果考虑多值属性,可以在现有结构的基础上增加集合索引以及条件属性。
准备在定义好知识对象之后就开始设计系统中各种信息的结构。买了一本《IT体系结构和
中间件技术》,学习其中的架构和消息机制。
前天写了一点,让高手检查了一下,自己也思考了一下,决定进行部分改进:
1.属性的1:1与1:N实现,集合的访问机制;
2.聚合和合成的区分;
3.信息元素的“类型”概念(类似面向对象编程中的“接口”),如何提供进行有效的检索
机制;
4.访问加锁机制;
5.限制存放空间,不用Variant类型,改用8Byte数据+1Byte的状态以及类型说明,初步拟存
放String、Integer、Char、Boolean、Double、TObject这几类数据。
为了能正确的解决上面提到的某些问题,有一些概念上的问题有必要首先澄清:
虽然可以用属性表示一切,但是必须清楚,有些属性是从属关系,而另一些关系则是链接
关系或者聚合关系(例如:A的颜色——从属;Mike的房子——链接;汽车C的挡泥板——聚
合)。
“名字”——严格的说来,并不是某个事物本身的属性——它是“假名安立”的结果,即
同一个对象,在不同的主体看来,可以有不同的名字。就算在同一个观察者看来,同一个对
象也可以在不同的时期有不同的名字。与名字相类似,一个事物的许多属性都是在不同的环
境下,不同的观察者所观察到的结果,不是本具的。——这个问题一定要解决。
我已经将接口部分贴到了我的富翁笔记中:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=8258
有兴趣加盟的朋友,请将您擅长的方面列举一下,我们会分配合适的任务给您。
to riceball兄:
我目前的设计思想是:在第三方开源脚本引擎的支撑下,在这个工具中编写可以操作知识
对象的语句,以完成特定的功能。这些语句可以以Agent的组成部分的形式被有效的组织,
以完成特定的任务。我的想法是,脚本所处理的一切信息都应该是基于知识对象的(或者是
可以被转换为知识对象的),而知识对象有能力表示一切可以被清晰描述的人类知识——整
个系统因此也是一个基于符号的系统。虽然如此,我们仍然可以通过用符号来描述连接,让
系统具有连接运算的能力。
知识对象拥有若干个属性。通常情况下,属性就是子对象。“属性”被存放在专门的属性
定义表中,例如:值、年龄、速度、长度等等。属性可以有分类结构,有全称和简称。
下面是使用例子:
ObjA.Value == ObjA.Prop("Value").Value == ObjA.Prop("/Value").Value == ObjA.Prop(ValueProp).Value
如果考虑多值属性,可以在现有结构的基础上增加集合索引以及条件属性。
准备在定义好知识对象之后就开始设计系统中各种信息的结构。买了一本《IT体系结构和
中间件技术》,学习其中的架构和消息机制。
前天写了一点,让高手检查了一下,自己也思考了一下,决定进行部分改进:
1.属性的1:1与1:N实现,集合的访问机制;
2.聚合和合成的区分;
3.信息元素的“类型”概念(类似面向对象编程中的“接口”),如何提供进行有效的检索
机制;
4.访问加锁机制;
5.限制存放空间,不用Variant类型,改用8Byte数据+1Byte的状态以及类型说明,初步拟存
放String、Integer、Char、Boolean、Double、TObject这几类数据。
为了能正确的解决上面提到的某些问题,有一些概念上的问题有必要首先澄清:
虽然可以用属性表示一切,但是必须清楚,有些属性是从属关系,而另一些关系则是链接
关系或者聚合关系(例如:A的颜色——从属;Mike的房子——链接;汽车C的挡泥板——聚
合)。
“名字”——严格的说来,并不是某个事物本身的属性——它是“假名安立”的结果,即
同一个对象,在不同的主体看来,可以有不同的名字。就算在同一个观察者看来,同一个对
象也可以在不同的时期有不同的名字。与名字相类似,一个事物的许多属性都是在不同的环
境下,不同的观察者所观察到的结果,不是本具的。——这个问题一定要解决。
我已经将接口部分贴到了我的富翁笔记中:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=8258
有兴趣加盟的朋友,请将您擅长的方面列举一下,我们会分配合适的任务给您。
to riceball兄:
我目前的设计思想是:在第三方开源脚本引擎的支撑下,在这个工具中编写可以操作知识
对象的语句,以完成特定的功能。这些语句可以以Agent的组成部分的形式被有效的组织,
以完成特定的任务。我的想法是,脚本所处理的一切信息都应该是基于知识对象的(或者是
可以被转换为知识对象的),而知识对象有能力表示一切可以被清晰描述的人类知识——整
个系统因此也是一个基于符号的系统。虽然如此,我们仍然可以通过用符号来描述连接,让
系统具有连接运算的能力。