Help:基本成员属性
此页简而言之:
|
前言
本页面解释了属性instance of (P31)、subclass of (P279)和part of (P361)之间的区别。
定義
为了理解这些区别,熟悉“实例”和“类”这两个术语至关重要。类是一种抽象概念,用于描述一组事物(或集合),这些事物被称为类的实例。通常,属于同一类的所有实例都共享一组属性,这些属性正是该类的特征。
如果类A的所有实例都必然属于类B,那么我们就说A是B的“子类”。
示例
- 類human (Q5)包含Abraham Lincoln (Q91)、Mahatma Gandhi (Q1001)、Isaac Newton (Q935)等實例。
- 類lighthouse (Q39715)包含Amrum Lighthouse (Q20669)、Lighthouse of Alexandria (Q43244)等實例。
- 類ocean (Q9430)包含Atlantic Ocean (Q97)、Pacific Ocean (Q98)等實例。
- 類public election (Q40231)包含2016 Taiwanese presidential election (Q20683626)等實例。
實作層面
- 一个数据项既可以是实例,也可以是类。如果一个数据项具有instance of (P31)属性,则它是一个实例。如果一个数据项是其他数据项的instance of (P31)属性的值(或者它具有subclass of (P279)属性),则它是一个类。
- 一个类所隐含的完整实例集合可能存在于维基数据中,也可能不存在。
- 通常,一个类的特征在于其所有实例都共享一组属性。这些实例在这些属性的值上有所不同,但并非在拥有这些属性本身这一点上有所不同(尽管维基数据并不强制执行此规则)。
具有共同特征的实例与由该特征定义的类之间,其关联性通过属性 instance of (P31)来建立。 当无法对该关系下的实例作进一步的泛化或分类描述时,通常使用 instance of (P31)而非subclass of (P279)。更确切地说,这对应于rdf:type。[1]
例如,Atlantic Ocean (Q97)和Pacific Ocean (Q98)都是ocean (Q9430)的实例。因此,我们在Wikidata上这样写:
- Atlantic Ocean (Q97) instance of (P31) ocean (Q9430);
- Pacific Ocean (Q98) instance of (P31) ocean (Q9430).
- 用于表明某个类的“所有”实例都是另一个类的实例
- 更具体地说,它表示rdfs:subClassOf[2]
- 如果主体类的“任何”实例“不是”值类的实例,则不应使用subclass of (P279)。partially coincident with (P1382)可用于链接两个重叠的类,其中任何一个都不是另一个的严格子类。
一些例子:
- human brain (Q492038) subclass of (P279) brain (Q1073)
- brain (Q1073) subclass of (P279) animal organ (Q24060765)
- animal organ (Q24060765) subclass of (P279) organ (Q712378)
另一个例子:
- 類lake (Q23397)包含Lake Baikal (Q5513)、Lake Erie (Q5492)等實例;
- 類ocean (Q9430)包含Atlantic Ocean (Q97)、Pacific Ocean (Q98)實例。
湖泊和海洋并非同一事物,但它们都具有水体的共同特征。因此,我们可以使用类body of water (Q15324)来表述:
- lake (Q23397) subclass of (P279) body of water (Q15324);
- ocean (Q9430) subclass of (P279) body of water (Q15324).
现在,Lake Baikal (Q5513)、Lake Erie (Q5492)、Atlantic Ocean (Q97)和Pacific Ocean (Q98)都将是body of water (Q15324)的“传递性”(间接)实例。一般来说,我们“可以”使用更抽象的对象(例如 body of water (Q15324))来代替枚举(lake (Q23397)和ocean (Q9430)),这两种用法都适用于:1. 我们的陈述和 2. 我们的问题(本帮助页面未涵盖此部分)。
传递性屬性
属性subclass of (P279)是一种transitive property (Q18647515)。这意味着:如果类A是类B的子类,而类B是类C的子类,那么A隐式地也是C的子类。 因此,通常无需在Wikidata中添加显式陈述来表明A是C的子类。
例如,tree (Q10884)是woody plant (Q757163)的子类,woody plant (Q757163)是plant (Q756)的子类。因此,tree (Q10884)也隐式地是plant (Q756)的子类。
同样,如果项目x是类B的一个实例,并且B是类C的子类,那么x也隐式地是类C的实例。因此,通常无需在Wikidata中添加显式陈述来表明x是类C的实例。
例如,Lighthouse of Alexandria (Q43244)是lighthouse (Q39715)的一个实例,lighthouse (Q39715)是tower (Q12518)的一个子类。因此,Lighthouse of Alexandria (Q43244)是tower (Q12518)的一个实例。
属性instance of (P31)不具有传递性。以上述示例为例:Angela Merkel (Q567)是politician (Q82955)的一个实例,而politician (Q82955)是profession (Q28640)的一个实例,但如果说Angela Merkel (Q567)是profession (Q28640)的一个实例,那就错了。
基于传递性的推理不考虑限定词,因此instance of (P31)和subclass of (P279)陈述必须在忽略任何限定词的情况下有效;换句话说,这些陈述不应包含任何 restrictive qualifier (Q61719275),或任何具有限制性用途的限定词。例如,如果A通常是B的子类,但并非总是如此,那么断言A是B的子类并附加限定词nature of statement (P5102) = often (Q28962312)是无效的,因为这会导致错误的推论。
数据项不能是另一个非类的实例,但它可以是另一个非类的一部分。例如,Albert Einstein's brain (Q2464312)是Albert Einstein (Q937)的一部分。在Wikidata中,我们使用part of (P361)来表示这种关系。
类还可以是另一个类的一部分。例如,
此处使用instance of (P31)而非part of (P361)是错误的,因为human brain (Q492038)并非人物。使用subclass of (P279)也是错误的,因为human brain (Q492038)的实例(例如 Albert Einstein's brain (Q2464312))并非Homo sapiens (Q15978631)类的实例。
与subclass of (P279)一样,part of (P361)也具有传递性。
part of (P361)">
part of (P361)的逆关系
- has part(s) (P527) - 表示某个实例包含另一个实例作为其组成部分,或者某个类的实例包含另一个类的实例作为其组成部分
- has part(s) of the class (P2670) - 用于表示某个实例(而非类)包含另一个类的实例作为其组成部分。如果父项既是实例又是类,则不应使用has part(s) of the class (P2670)。
例如,
- Greek alphabet (Q8216) has part(s) (P527) Α/α (Q9887) (实例-实例)
- alphabet (Q9779) has part(s) (P527) letter (Q9788) (類-類)
- Greek alphabet (Q8216) has part(s) of the class (P2670) Greek letter (Q19793459) (实例-类)
在第一个例子中,使用has part(s) (P527)是因为Greek alphabet (Q8216)包含Α/α (Q9887)作为其一部分。在第二个例子中也使用了has part(s) (P527),因为alphabet (Q9779)的实例包含letter (Q9788)的实例作为其组成部分。在最后一个例子中,我们选择has part(s) of the class (P2670),因为Greek alphabet (Q8216)包含一个或多个Greek letter (Q19793459)的实例作为其组成部分。
示例
instance of (P31)_vs._subclass of (P279)_vs._part of (P361)">
| Property | X | Y | 它代表什么 | 例子 | 說明 | 为什么不使用…… |
|---|---|---|---|---|---|---|
| 实例 | 类 |
|
<USS Nimitz> instance of <supercarrier> | <尼米兹号>是一艘具体的航空母舰,而<超级航母>是一个航空母舰级别,包含许多实例(即多艘航空母舰) |
| |
| <People's Republic of China> instance of <sovereign state> | <主权国家>是根据某些特性定义的一个概念,<中国>是一个符合这些特性的具体对象 |
| ||||
| <Sun> instance of <G-type main-sequence star> | <太阳>是一颗特定的恒星,具有G型主序星的光谱特征,因此它是这类恒星的一个实例 | * subclass of未使用,因为太阳不是一个类,而是一个单独的天体
| ||||
| <hatter> instance of <profession> | <hatter>是一个职业的特定例子 |
| ||||
| <Douglas Adams> instance of <human> | <Douglas Adams>是一个具体的人(这是“instance of”最常见的用法之一) | * subclass of未使用,因为
| ||||
| 类 | 类 |
|
<supercarrier> subclass of <aircraft carrier> | <超级航空母舰>和<航空母舰>均是类且后者包含前者 |
| |
| <sovereign state> subclass of <state> | 它们都是类,前者拥有后者的所有特性以及一些额外的特性,因此前者是后者的子类 |
| ||||
| <G-type star> subclass of <star> | 每个G型星( |
* instance of未使用,因为
| ||||
| 实例 | 实例 |
|
<USS Nimitz> part of <Carrier Strike Group Eleven> | <尼米兹号>是一艘具体的航空母舰,<第11航母打击群>是一个具体的航母打击群,<尼米兹号>是<第11航母打击群>的组成部分之一(也是其旗舰)。 |
| |
| <People's Republic of China> part of <Asia> | <中国>和<亚洲>都是特定的地理特征,<中国>是<亚洲>大陆的一部分 |
| ||||
| <Sun> part of <Solar System> | 它们都是独立的天体;太阳系由太阳、行星以及太阳附近的其它天体组成 | * instance of未使用,因为后者是一个具体的天体,而非通用概念
| ||||
| 类 | 类 | 类X的一个实例是类Y的一个实例的一部分 | <flight deck> part of <aircraft carrier> | 每艘航空母舰(<航空母舰>的实例)都有自己的飞行甲板(<飞行甲板>的实例) |
| |
| <member state> part of <international organization> | <成员国>的一个实例是<国际组织>的一个实例的组成部分 |
| ||||
| <star> part of <galaxy> | 一颗恒星通常诞生并存在于一个星系中,而一个星系由许多恒星和其他天体组成 |
| ||||
| ||||||
has part(s) (P527)_vs._has part(s) of the class (P2670)">
下表解释了has part(s) (P527)和has part(s) of the class (P2670)之间的区别。
has part(s) (P527)应用于类与类之间以及实例与实例之间的关系。
has part(s) of the class (P2670)应用于实例与类之间关系。 如果您在某个数据项上看到违反约束的情况,并且该项目包含 has part(s) of the class (P2670)...
- 如果该项目是一个类并且具有属性subclass of (P279),则即使它也具有属性instance of (P31),也应该使用has part(s) (P527)而不是has part(s) of the class (P2670)。
- 该项可能被错误地归类为类,而实际上它应该是一个实例。请移除subclass of (P279)属性,并确保它具有正确的instance of (P31)属性。
| Property | X | Y | 它代表什么 | 例子 | 解释 | 为什么不使用…… |
|---|---|---|---|---|---|---|
| 实例 | 实例 | 实例X包含实例Y作为其组成部分或组件 | <United States Congress> has part(s) <United States Senate> | 美国国会由两部分组成:众议院和参议院 | * has part(s) of the class未被使用,因为<美国国会>和<美国参议院>是具体实体 | |
| <Solar System> has part(s) <Mars> | <火星>是<太阳系>中的一颗行星 | * has part(s) of the class未被使用,因为<太阳系>和<火星>是具体实体 | ||||
| 类 | 类 | X的一个实例在其组成部分或组件中包含Y的一个实例 | <body> has part(s) <head> | 一般来说,<身体>(解剖学特征)的组成部分之一是<头部> | * has part(s) of the class未被使用,因为<身体>和<头部>都是类 | |
| <galaxy> has part(s) <star> | <星系>以<恒星>作为其组成部分之一 | * has part(s) of the class未被使用,因为<星系>和<恒星>都是类 | ||||
| 实例 | 类 | 特定项目X的组成部分或组件中包含一些属于类Y的实例。 | <University of Cambridge> has part(s) of the class <college of the University of Cambridge> | <剑桥大学>由多个学院组成 | * has part(s)未被使用,因为<剑桥大学>本身并不包含<剑桥大学学院>这一类,而是包含多个学院作为其组成部分 | |
| <Solar System> has part(s) of the class <inner planet of the Solar System> | 我们的<太阳系>包含一个或多个<内行星> | * has part(s)未被使用,因为<太阳系>不包含<内行星>这一类作为其组成部分,而是包含行星作为其组成部分 | ||||
| <Albert Einstein> has part(s) of the class <human brain> | <阿尔伯特·爱因斯坦>拥有<人脑>这一组成部分 | * has part(s)未被使用,因为<人脑>是一个类,而不是一个实例,即使他只有一个大脑也是如此 |
查询
Wikidata查询可用于查找给定类的成员,例如[1];还有一个Wikidata查询构建器来提供帮助。
导航框
参见
參考文獻
- ↑ https://www.w3.org/TR/rdf-schema/#ch_type
- ↑ Cite error: Invalid
tag; no text was provided for refs named "subclassof".
外部链接
- 多层次概念建模:理论与应用——在多层次概念建模的理论框架下解释了属性instance of (P31)和subclass of (P279)之间的区别。请直接跳转到第四部分查看与Wikidata相关的内容。
- 集合与个体 — 解释了属性instance of (P31)和subclass of (P279)之间的区别(在Cyc (Q1147294)知识库的上下文中)