我一直在阅读有关语义Web技术,如RDF/RDFS和"本体论"的文章,但想知道它们之间的关系?目前这些术语似乎可以互换使用,或者我没有理解一个基本概念。
我一直在阅读有关语义Web技术,如RDF/RDFS和"本体论"的文章,但想知道它们之间的关系?目前这些术语似乎可以互换使用,或者我没有理解一个基本概念。
RDF是一种描述事物的概念或方法。 RDF的概念是使用一组三个术语来描述/定义任何事物,例如“Ana有苹果”、“苹果很好吃”,这两个字符串在概念上都是完全有效的RDF描述。无论您在哪里以及如何存储所述数据(文件、纸张、沙滩上的绘画或墙壁上的油画),最重要的是将数据描述为三元组(使用RDF概念)。 语义网络是使用此概念(RDF)构建的。
注意:词汇表仅是存储在文件或其他位置的一组术语定义。这些术语旨在通常被重用来描述数据。因此,您拥有自己的数据和词汇表,现在可以开始使用词汇表中的术语向数据添加描述。
RDF是一个标准词汇表,提供一组术语。 您可以在此处查看RDF词汇表。
RDF词汇表提供的术语可帮助您进行一些基本的标准描述,例如:
假设您有以下数据:“Ana”和“Person”。因此,为了以标准语义网络方式描述您的“Ana”是一个“Person”,您必须在某个地方存储以下三元组:
PREFIX rdf:<https://www.w3.org/1999/02/22-rdf-syntax-ns>
<http://yourdomain.com/Ana> rdf:type <http://yourdomain.com/Person>
"rdf:type
"是在RDF词汇表中定义的术语,每当您使用它时,您正在描述其前面(主体)的数据是放置在其后面(对象)的数据(类)的实例。
通常,RDF词汇表提供了用于创建类的实例基本描述的术语。
RDFS是一种标准的词汇表,就像RDF一样。如果在RDF词汇表中有帮助您给出实例基本定义/描述的术语,在RDFS词汇表中,您可以使用术语来定义/描述类。例如,您有术语rdfs:subClassOf的定义。使用此术语,您可以描述一个类是另一个类的子类。
PREFIX rdfs:<https://www.w3.org/2000/01/rdf-schema#>
<http://yourdomain.com/Teacher> rdfs:subClassOf <http://yourdomain.com/Person>
因此,RDF有用于创建实例的术语,而RDFS具有用于创建类的术语。通过同时使用两者,您可以开始对数据进行更详细的描述。如果您想要进行更复杂的描述,则可以使用OWL,它是另一组能够提供这种功能的术语。OWL使用RDF和RDFS术语定义。
注意:某些RDF术语使用RDFS术语定义,而某些RDFS术语则使用RDF术语定义。如果您想要检查词汇表之间的链接,可以查看链接。
"Ontology"只是"vocabulary"的另一个名称。这两个是相同的东西。您可以将本体论视为更复杂的词汇表,但这不是一条规则。 这是来自官方网站的说法:
'“词汇表”和“本体论”之间没有明确的区分。'
RDF和RDFS不能互换使用。
RDF基于通过主语、谓语和宾语表达方式(即三元组)对资源(在本例中是Web)进行陈述。主语表示资源,谓语表示主语和宾语之间的关系。总的来说,RDF是一种概念数据建模方法。
RDFS提供了一种描述相关资源(RDF)及其之间关系的机制。这些属性的示例包括类、子类、范围和域。
因此,从本质上讲,RDFS是RDF的语义扩展。一个人可以有一个Animal和Dog的RDF实例,而RDFS可以指定Animal是一个类,而Dog是Animal的子类。
class
是一个rdfs:class
,但有一个rdf:type
。这让我感觉像是RDF并没有被实现,而RDFS后来才实现了它,或者我漏掉了什么东西。 - Hibou57