Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rdf 基于本体概念的数据建模_Rdf_Semantics_Owl_Ontology_Protege - Fatal编程技术网

Rdf 基于本体概念的数据建模

Rdf 基于本体概念的数据建模,rdf,semantics,owl,ontology,protege,Rdf,Semantics,Owl,Ontology,Protege,问题: 我需要创建一个本体(比如www.example.com/ontology/ont#,带有ont前缀)。该本体由其他一些前缀为SSN、TIME、GEO等的本体组成。现在,困惑在于,当我使用ONT本体进行数据建模时,我应该使用原始前缀,如SSN、TIME和GEO,还是应该使用ONT前缀 结论: 在数据建模期间,如果我使用ONT名称空间,那么我认为我必须通过使用owl:sameAs、owl:equivalentClass、owl:subclass概念来改变以前本体的前缀。而且,在数据建模期间使

问题: 我需要创建一个本体(比如www.example.com/ontology/ont#,带有ont前缀)。该本体由其他一些前缀为SSN、TIME、GEO等的本体组成。现在,困惑在于,当我使用ONT本体进行数据建模时,我应该使用原始前缀,如SSN、TIME和GEO,还是应该使用ONT前缀

结论: 在数据建模期间,如果我使用ONT名称空间,那么我认为我必须通过使用owl:sameAs、owl:equivalentClass、owl:subclass概念来改变以前本体的前缀。而且,在数据建模期间使用原始前缀时,必须小心,因为每个建模数据项都应该是可取消引用的。我的结论正确吗?当您的本体由其他几个本体组成时,是否有第三种方法来建模数据


我无法决定应该使用哪种方法。一个的优点是什么?是否有任何教程或参考资料讨论过这个问题?

如果我正确理解了您的问题,您本质上是在问是否应该将现有的类和属性从其他本体“复制”到您自己的本体中

明确的答案是:不

语义web/链接数据是现有词汇重复使用的生命,因此[…]最好不要重新发明任何新的模式,而只是使用现有词汇中的部分。你的数据甚至可以毫无理由地发挥作用


更多信息请参见此。

在数据建模过程中,如果我使用ONT名称空间,那么我认为我必须更改以前本体的前缀“为什么?当您的本体由其他几个本体组成时,是否有第三种方法来建模数据?猫头鹰:导入的存在正是因为这个原因。只需将这些本体导入到您自己的中即可。@Joshua Taylor,我不是说我必须完全更改它们的前缀,但在使用ONT名称空间时,我必须将ONT前缀映射到现有/以前的本体的前缀。关于数据建模,我的意思是将我的数据与ONT前缀或现有本体的前缀相关联。你的意思并不清楚。OWL本体中的事物(类、属性、类等)由URI标识。前缀只是手写东西的一种方便。您可以使用多个前缀来缩写相同的URI,因此如果您使用“ex:”来表示
http://example.com/
并且您导入的本体使用“示例:”表示相同的东西。“ex:abc”和“example:abc”的意思是一样的。但即使在那里,当你导入一个本体时,你也不会从某个文件中导入前缀;这些只是用来让事情更具可读性;实际数据只是基于URI。这意味着我不应该不必要地创建新的重复类(即,我不需要将我的类映射到以前本体中的类)。此外,我应该根据前面本体中的前缀对数据进行注释。因此,我必须在数据建模期间使用现有本体的前缀。我的本体(ONT)将只表示现有本体的集成,其名称空间将不用于数据建模。