实化
✍ dations ◷ 2025-08-14 12:42:47 #计算机编程,知识表示
在计算机科学中,实化(英语:reification)或对象化是把抽象的想法(idea)转化为明确的数据模型或程序设计语言创建的其他对象的过程。通过实化,以前是隐式的、未表示的、可能是不可表示的被显式形成可概念(逻辑或计算)操作的。非正式地,实化也常被称作在特定系统范围内把某些东西变为“头等公民”。 实化是概念分析与知识表示中最常用的技术。
在程序设计语言中,把用户程序或者程序设计语言某一部分本来在编译期与运行期是隐式的,表示为语言自身,这一过程称为实化。这使得其对程序可当作普通数据来利用。在具有反射的程序设计语言中,实化的数据表示了相关的被实化的领域。实化的数据常被称作头等对象。
数据实化涉及在形式规范(英语:formal specification)中找到抽象数据类型的更为具体的表示。 例如,抽象数据类型集合(set)可以用map或者array来实化。
概念建模(英语:Conceptual model (computer science))中广泛使用了实化。实化一个关系(relationship)意味着把它视作一个实体。实化一个关系的目的是令其显式,必要时可以增加额外的信息。例如,关系表示某人是某委员会的成员。下图左侧用表的形式列出了人是委员会与的成员;人是委员会成员。
这一关系,也可看作实体。见图示的右侧。称作该实体实化了这个关系。这个实体类型为Membership
。现在,可以给这个关系实体增加新的信息,如某人属于某委员会是由谁来提名加入的,可表示为。
与其密切相关的用法见实化 (知识表示)(英语:Reification (knowledge representation))。
UML提供了关联类(association class)用于构建被实化的关系类型。关联类既是关联又是类。
In Semantic Web languages, such as Resource Description Framework (RDF) and Web Ontology Language (OWL), a statement is a binary relation. It is used to link two individuals or an individual and a value. Applications sometimes need to describe other RDF statements, for instance, to record information like when statements were made, or who made them, which is sometimes called "provenance" information. As an example, we may want to represent properties of a relation, such as our certainty about it, severity or strength of a relation, relevance of a relation, and so on.
The example from the conceptual modeling section describes a particular person with URIref person:p1
, who is a member of the committee:c1
. The RDF triple from that description is
person:p1 committee:isMemberOf committee:c1 .
Consider to store two further facts: (i) to record who nominated this particular person to this committee (a statement about the membership itself), and (ii) to record who added the fact to the database (a statement about the statement).
The first case is a case of classical reification like above in UML: reify the membership and store its attributes and roles etc.:
committee:Membership rdf:type owl:Class . committee:membership12345 rdf:type committee:Membership . committee:membership12345 committee:ofPerson person:p1 . committee:membership12345 committee:inCommittee committee:c1 . person:p2 committee:nominated committee:membership12345 .
Additionally, RDF provides a built-in vocabulary intended for describing RDF statements. A description of a statement using this vocabulary is called a reification of the statement. The RDF reification vocabulary consists of the type rdf:Statement
, and the properties rdf:subject
, rdf:predicate
, and rdf:object
.
Using the reification vocabulary, a reification of the statement about the person's membership would be given by assigning the statement a URIref such as committee:membership12345
so that describing statements can be written as follows:
committee:membership12345Stat rdf:type rdf:Statement . committee:membership12345Stat rdf:subject person:p1 . committee:membership12345Stat rdf:predicate committee:isMemberOf . committee:membership12345Stat rdf:object committee:c1 .
These statements say that the resource identified by the URIref committee:membership12345Stat
is an RDF statement, that the subject of the statement refers to the resource identified by person:p1
, the predicate of the statement refers to the resource identified by committee:isMemberOf
, and the object of the statement refers to the resource committee:c1
. Assuming that the original statement is actually identified by committee:membership12345
, it should be clear by comparing the original statement with the reification that the reification actually does describe it. The conventional use of the RDF reification vocabulary always involves describing a statement using four statements in this pattern. Therefore, they are sometimes referred to as the "reification quad".
Using reification according to this convention, we could record the fact that person:p3
added the statement to thedatabase by
person:p3 committee:addedToDatabase committee:membership12345Stat .
It is important to note that in the conventional use of reification, the subject of the reification triples is assumed to identify a particular instance of a triple in a particular RDF document, rather than some arbitrary triple having the same subject, predicate, and object. This particular convention is used because reification is intended for expressing properties such as dates of composition and source information, as in the examples given already, and these properties need to be applied to specific instances of triples. Note that the described triple (subject predicate object)
itself is not implied by such a reification quad (and it is not necessary that it actually exists in the database). This allows also to use this mechanism to express which triples do hold.
The power of the reification vocabulary in RDF is restricted by the lack of a built-in means for assigning URIrefs to statements, so in order to express "provenance" information of this kind in RDF, one has to use some mechanism (outside of RDF) to assign URIs to individual RDF statements, then make further statements about those individual statements, using their URIs to identify them.
In an XML Topic Map (XTM), only a topic can have a name or play a role in an association. One may use an association to make an assertion about a topic, but one cannot directly make assertions about that assertion. However, it is possible to create a topic that reifies a non-topic construct in a map, thus enabling the association to be named and treated as a topic itself.
In Semantic Web languages, such as RDF and OWL, a property is a binary relation used to link two individuals or an individual and a value. However, in some cases, the natural and convenient way to represent certain concepts is to use relations to link an individual to more than just one individual or value. These relations are called n-ary relations. Examples are representing relations among multiple individuals, such as a committee, a person who is a committee member and another person who has nominated the first person to become the committee member, or a buyer, a seller, and an object that was bought when describing a purchase of a book.
A more general approach to reification is to create an explicit new class and n new properties to represent an n-ary relation, making an instance of the relation linking the n individuals an instance of this class. This approach can also be used to represent provenance information and other properties for an individual relation instance.
:p1 a :Person ; :has_membership _:membership_12345 ._:membership_12345 a :Membership ; :committee :c1; :nominated_by :p2 .
Reification vs. quotation
It is also important to note that the reification described here is not the same as "quotation" found in other languages. Instead, the reification describes the relationship between a particular instance of a triple and the resources the triple refers to. The reification can be read intuitively as saying "this RDF triple talks about these things", rather than (as in quotation) "this RDF triple has this form." For instance, in the reification example used in this section, the triple:
committee:membership12345 rdf:subject person:p1 .
describing the rdf:subject
of the original statement says that the subject of the statement is the resource (the person) identified by the URIref person:p1
. It does not state that the subject of the statement is the URIref itself (i.e., a string beginning with certain characters), as quotation would.
相关
- 谷氨酸二钠谷氨酸二钠(化学式:Na2C5H7NO4)是谷氨酸的二钠盐。一般为左旋谷氨酸二钠,由左旋谷氨酸制得。白色结晶性粉末,有蛋白胨样肉臭味。易溶于水,微溶于乙醇。由谷氨酸与氢氧化钠或碳酸钠
- 土家语土家语是中国土家族的民族语言。属汉藏语系藏缅语族,语支未定,或列入土家语支。主要分布在湖南省湘西土家族苗族自治州,使用人口数量估计在8万左右,其中绝大部分人都兼用汉语,单
- 濮存昕濮存昕(1953年7月31日-),北京人,祖籍江苏溧水,中国话剧和电影演员,现任中国戏剧家协会主席,北京人民艺术剧院副院长,重庆大学客座教授,重庆大学电影学院硕士生导师,临汾红丝带学校名誉
- 巴库尔巴库尔(法语:Bacourt)是法国摩泽尔省的一个市镇,位于该省中南部,属于萨尔堡-沙托萨兰区。该市镇总面积3.89平方公里,2009年时的人口为116人。巴库尔人口变化图示
- 互溶体系互溶体系是多种物质相互溶解的体系。如果两种纯液体组分能按任意的比例相互混溶,那么就会形成理想的液态混合物。通常,两种结构相似或极性相似的化合物可以按任意比例混合,并形
- 雷蒙·普恩加莱雷蒙·普恩加莱(Raymond Poincaré,1860年8月20日-1934年10月15日),又译雷蒙·彭加勒,法国政治家。1912年-1913年担任法国总理和外交部长;1913年-1920年担任法兰西第三共和国的总统;19
- 印尼佛教佛教,在印度尼西亚历史悠久,与伊斯兰教,基督教(新教和天主教),印度教和儒教一起,被认为是印度尼西亚的六种正式宗教之一。根据2000年的人口普查,印度尼西亚有0.8%人口是佛教徒,人数约
- 硫代葡萄糖苷硫代葡萄糖苷是许多辛辣植物的天然成分,如芥末,卷心菜和辣根。 这些植物的刺激性是由于当植物材料被咀嚼,切割或以其他方式损坏时由芥子油苷产生的芥子油。 这些天然化学物质最
- 七星山 (桂林)七星山位于中华人民共和国广西壮族自治区桂林市市区东部。因其七座山峰海拔相近,布局与北斗七星相似,故而得名。七星山已被划在桂林七星公园范围之内。七星山整体由普陀山的天
- 哈利·波特中的魔法物品在《哈利·波特》系列小说中,人们使用各式各样的魔法物品。巫师们一般会以金加隆、银西可、青铜纳特作为货币。在《凤凰社的密令》中,赫敏·格兰杰以魔法制造假的加隆(Galleon)