语义网中Uri和Url的用途

5
我正在从事一个语义网项目,遇到了一些关于Uri和Url的问题。

首先,一个普遍的问题:在万维网上,用户应用程序如何引用Uris?是否像Url一样存储在一些国际服务器上,并在请求相关Uri时向用户应用程序提供资源?我在RDF文件中为本体个体制作了Uris。仅将Uri存储在我的Web文件中是否足够?如何确保它是唯一的?(例如对于学生:#stu00546)
其次,我应该给我的本体什么Uri?我是否需要注册有效的Uri才能使它在互联网上工作?
最后,是否应该在需要时同时存储个体的Uris和Urls?例如,如果我想创建一个关于学习资源(如PDF)的个体,并且我希望用户能够稍后打开此PDF,我应该存储PDF的Url,还是应该使用分配给它的Uri来定义此个体?

非常感谢您的时间和关注

3个回答

3

关于URI:通常所有的URI都不能被引用,例如:

urn:isbn:0451450523

描述了一本书的ID,但没有标准的方法来找到这本书。一些协议,如URL或LSID与允许检索信息的协议相关联。
本体论的URI:这可以是任何唯一的URI(例如urn:me:onotology / mywebsite#ontology),但我想最好的地方应该是一个描述您本体论的Web上的URL。另请参见本体头。例如,FOAF的命名空间是http://xmlns.com/foaf/0.1/,它将重定向到规范。
文档的URL(建议):
<foaf:Document rdf:about="http://example.org/mydoc1">
  <dc:title xml:lang="en">Title</dc:title>
  <dc:title xml:lang="fr">Titre</dc:title>
</foaf:Document>

<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/pdf">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>application/pdf</my:mime-type>
</my:InstanceOfDoc>


<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/txt">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>text/plain</my:mime-type>
</my:InstanceOfDoc>

<my:InstanceOfDoc rdf:about="http://example.org/mydoc1/html">
 <my:isInstanceOf  rdf:resource="http://example.org/mydoc1"/>
 <my:mime-type>text/html</my:mime-type>
</my:InstanceOfDoc>

非常感谢您,亲爱的先生, 所以我从您的回复中了解到,为了使用资源(例如文档),我应该存储资源网址,或者将其Uri设置为像它的Url一样。 顺便问一下,在上面的例子中,您是否定义了mydoc1的不同副本? - Ehsan
“different copies of mydoc1” 的含义将在您的本体中定义。例如,my:InstanceOfDoc rds:comment “定义了一个 URL,我们可以在其中找到给定格式的文档”。 - Pierre
我现在明白了。我可以问另一个问题吗? 我们是否通过这个操作(像这样的代码)进行Uri解析?我的意思是,我们是否有责任解析我们创建的Uri? - Ehsan
1
理想情况下是可以的,建议您遵循这里的SW社区Linked Data最佳实践指南,以了解如何做到这一点-http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/ - RobV

2
RDF规范定义了在RDF中如何使用URI。不要忘记表单(和次要用途),但迄今为止,你的URI最重要的方面是它们是全局唯一标识符。每个URI都标识一个独特的概念(例如,特定的OWL类)或个体(该类的特定实例--你在问题中提到的学生),你需要非常小心地确保你的URI的唯一性。
考虑到这一点,像#student1234这样的URI不好,而urn:myappname:students#student1234会更好。
对于更“友好”的URI用法,你可能希望使它们可引用(如Pierre提到的FOAF规范或用于链接数据的目的)。在这种情况下,像http://myserver.com/myappname/students/student1234这样的URI可能更合适。
最后要记住的是《工作本体论者的语义网:RDF、RDFS和OWL建模》所称的“愿望命名”。非常小心,不要假设(作为人类)像urn:example:cars#car123这样的URI具有ontology:Car类型。当被软件使用时,URI将是不透明的(并且像数据库中的键一样使用),一个URI本身没有语义。

除此之外,大部分形式取决于个人偏好和对应用程序的益处。


0

我不太确定我理解问题的意思。您是否在理解URI和URL之间的区别方面遇到了一些问题?如果是,维基百科有一个合理的解释

基本上,URI(统一资源标识符)用于标识资源。维基百科使用ISBN作为例子,它标识了一本书,但没有提供任何关于如何访问它的信息。URL(统一资源定位符)提供有关如何访问资源的信息;例如,完整文本书籍的URL。


谢谢您,但我仍然无法理解URI解析,尽管我已经阅读了http://en.wikipedia.org/wiki/URI#URI_resolution。我会非常感激在这方面的帮助。 - Ehsan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接