我正在尝试创建一个关于在我的区域中运行种族的语义Web应用程序(10k,半程马拉松,马拉松)。更具体地说,我想收集和发布(在RDF中)有关种族,参与者和结果的数据,并合并类似的数据。过去几周我一直在测试Jena(包括TDB),从静态网站上做一些关于运行比赛和阅读词汇和本体的网页。
我认为用于我的应用程序的最有信誉的本体,以及进入门槛最低(不是非常过度设计)的本体论是BBC体育本体论。 http://www.bbc.co.uk/ontologies/sport/2011-02-17.shtml
关于使用BBC体育和制作应用程序,我有几个问题:
即使我只使用它的一小部分,我也可以使用BBC体育本体吗?
我想查看本体的架构以更好地理解它,但我似乎无法在任何地方找到它。 BBC是保守秘密,还是我一直在错误的地方寻找它?
有没有办法让我确定我是否正确使用本体?我的母语不是英语,所以我担心我可能会误解本体中的一些概念。
当我向我的(TDB)三元组添加新的三元组时,为资源创建新URI的惯例是什么?更具体地说,URI应该以名称还是uid结尾?这会影响来自不同数据集的类似数据的合并吗?
您是否可以推荐任何语义Web工具来使资源URI可解除引用?我不会很快将应用程序放在网上,但如果我可以在本地访问URI,那仍然会很好,例如
http://localhost/running/12345.
答案 0 :(得分:5)
这里有一些不同的问题,有些问题比其他问题更容易回答。
许多BBC网站都使用内容协商来处理文档,您可以通过设置适当的HTTP标头来获取您正在寻找的RDF文档,或者更简单地通过请求具有适当扩展名的资源来获取。例如,本体的人类可读版本是
要获得机器可读版本,请使用
他们这样做的事实并不是很明显。至少有一个地方是他们所说的Feeds and Data section of Nature:
如何获得RDF?
你有几个选择。我们标准网址上的content negotiate - 如果您的客户端请求标头指定了RDF,那么这就是您将获得的内容。或者,您将.rdf添加到我们的URL的末尾,然后我们将返回RDF而不是HTML。
您可以根据需要使用BBC本体中定义的少数或多个类,属性和个体。这是语义网之美的一部分。至于你是否正确使用它们,大多数都有一些描述性的标签,但标签是英文的。我不认为有一种自动检查您的使用方法;你可能只需要与更熟悉英语的人一起检查,我很害怕。当然,您也可以使用自己的语言添加标签和评论,并将其提供给其他人。这是关于语义Web和关联数据的另一个好处,您可以随时随地说出任何内容。
创建IRI没有单一的标准。它是很好如果它们是人类可读的,但如果你以编程方式生成很多东西,那很难实现。如果你不能使它们具有人类可读性,那么至少应该尽可能给它们适当的rdfs:label
。关于IRI惯例的问题可能更多地放在http://answers.semanticweb.com的主题上,如果你问那么你可能会得到更好的答案。
正如所说,你要求一个工具,而这个问题不属于StackOverflow的主题:
要求我们推荐或找到工具,库或最喜欢的场外资源的问题是Stack Overflow的主题,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,描述问题以及到目前为止已经做了什么来解决它。
同样,你可能会在http://answers.semanticweb.com上获得更好的运气。简而言之,就是你要寻找一个轻量级的网络服务器。您甚至可以通过让Web服务器将IRI请求转发到SPARQL描述查询来询问有关IRI的信息。这样,当你要求时:
http://localhost/running/12345
你会收到
的结果describe <http://localhost/running/12345>