Rdf 如何从具有相同本体的另一个服务获取数据?

Rdf 如何从具有相同本体的另一个服务获取数据?,rdf,semantics,semantic-web,owl,ontology,Rdf,Semantics,Semantic Web,Owl,Ontology,我试图理解本体论是如何工作的。我已经在论坛上读了很多关于本体论的文章和帖子。我知道RDF和OWL是什么。 但我不明白这两个本体是如何联系在一起的。例如,我在rdf中使用了FOAF本体,并对其进行了扩展。那么,如果我基于这个本体添加更多信息,我如何共享我的本体呢?是否有一种可能性,即具有相同本体的人可以从我的web获取数据 有一个简单的例子: 有两个博物馆。它们使用相同的本体。我的意思是他们把所有的数据都写在本体中。e、 g.猫头鹰或RDF。如果Museum1知道owl/rdf的结构,那么Muse

我试图理解本体论是如何工作的。我已经在论坛上读了很多关于本体论的文章和帖子。我知道RDF和OWL是什么。 但我不明白这两个本体是如何联系在一起的。例如,我在rdf中使用了FOAF本体,并对其进行了扩展。那么,如果我基于这个本体添加更多信息,我如何共享我的本体呢?是否有一种可能性,即具有相同本体的人可以从我的web获取数据

有一个简单的例子:

有两个博物馆。它们使用相同的本体。我的意思是他们把所有的数据都写在本体中。e、 g.猫头鹰或RDF。如果Museum1知道owl/rdf的结构,那么Museum1可能通过一个特殊请求以某种方式从Museum2获取所有数据?例如:

博物馆1希望从博物馆2获取所有数据,即:

关于十五世纪意大利画家绘画的所有信息


有可能吗?这两个博物馆会交换展品的信息吗

通常,您会创建一个新的本体,并导入提供要扩展的词汇表或实例数据的本体

例如,假设我有一个“People”本体,它声明了一个Person类和一个hasParent属性。然后我会创建一个新的本体,叫做,比如说,“MyPeople”,即“People”本体。然后,我可以创建与“人”相关的新类,例如,代理公司,其中有一个公理:

代理人≡ 人&杯;公司

我可以声明我的类的个人或从“人”本体导入的个人:

比尔盖茨:人
微软公司

然后我可以和我喜欢的任何人分享我的新本体论。当他们处理它时,他们会看到它导入了“人”本体,他们会自己得到一个副本,并将其全部放在一起

对于您提出的示例,它可能如下所示:

  • 将有一个共同的博物馆展示本体
  • 博物馆1将定义自己的博物馆1本体或数据集,以导入博物馆展览本体并声明博物馆1中展品的相关信息
  • 博物馆2将定义自己的博物馆2本体或数据集,以导入博物馆展览本体并声明博物馆2中展品的相关信息
  • 然后,如果博物馆1想要了解某位画家的作品信息,博物馆1会询问博物馆2生物学,他们会知道如何表述查询并解释结果,因为他们对博物馆展览学有着共同的理解。
    • 请注意,这甚至不需要博物馆1来创建博物馆1生物学;它只要求博物馆1能够理解博物馆展览学。您不需要发布自己的任何数据来使用他人提供的信息

谢谢,但我还有一件事不清楚。博物馆1如何从博物馆2获取信息?有一种或几种通用方法。e、 g.如果他们想要获得数据,他们必须访问数据库?数据查询过程是如何工作的


没有通用的方法可以做到这一点。一些组织可能提供用户可以查询的SPARQL端点。例如,DBpedia有一个。在其他情况下,数据可能可供浏览。例如,DBpedia将维基百科文章X的数据作为http://dbpedia.org/resource/X.ntriples (或.rdf、.n3、.ttl等)。例如,约翰尼·卡什的数据是。您也可以经常下载数据转储(尽管这些转储可能非常大)。再次以DBpedia为例,您可以查看。但这实际上取决于单个组织如何决定提供这些信息。Museum2可以简单地说,“如果您需要我们的数据,请向我们发送一封电子邮件,我们将向您发送一个包含数据的U盘。”这会很不方便,但它仍然允许数据交换。

通常,您创建一个新的本体,并导入提供您想要扩展的词汇表或实例数据的本体

例如,假设我有一个“People”本体,它声明了一个Person类和一个hasParent属性。然后我会创建一个新的本体,叫做,比如说,“MyPeople”,即“People”本体。然后,我可以创建与“人”相关的新类,例如,代理公司,其中有一个公理:

代理人≡ 人&杯;公司

我可以声明我的类的个人或从“人”本体导入的个人:

比尔盖茨:人
微软公司

然后我可以和我喜欢的任何人分享我的新本体论。当他们处理它时,他们会看到它导入了“人”本体,他们会自己得到一个副本,并将其全部放在一起

对于您提出的示例,它可能如下所示: