2

我正在寻找一种从freebase RDF API解析 RDF 的巧妙方法。我尝试了jquery.rdf.js/ jquery.rdf.turtle.js,但似乎在处理点符号 CURIE 时遇到了麻烦。例如,下面是我从 Freebase 得到的关于城市的 Turtle "Oslo"

@prefix key: <http://rdf.freebase.com/key/>.
@prefix ns: <http://rdf.freebase.com/ns/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.

ns:m.05l64
  ns:base.aareas.schema.administrative_area.administrative_area_type    ns:m.0hzcklw;
  ns:base.aareas.schema.administrative_area.administrative_parent    ns:m.05b4w;
  ns:base.biblioness.bibs_location.country    ns:m.05b4w;
  ns:base.biblioness.bibs_loca

导致错误:

uncaught exception: Invalid Turtle: Expecting ':', found '.05l64
    ns:base.a...'

有没有办法替换., 或不同的库或解决方法?

4

1 回答 1

5

我认为您的基本问题是 Freebase RDF 似乎正在使用最新版本的Turtle 规范,该规范目前是 W3C 候选推荐。此版本的 Turtle 规范确实允许.在其中使用 QName(以及许多其他以前非法字符),而大多数当前工具实现的较旧且技术上非官方的Turtle 规范则不允许。

.当前的规范来自 2013 年 1 月,我能找到的最早的参考是在 2012 年 7 月的草案中允许的更自由的前缀名称语法。相反,您使用的工具是根据其 SVN 于 2009 年最后更新的,因此它不支持此语法也就不足为奇了。

我确实找到了一篇博客文章,其中讨论了根据 Javascript 的最新规范开发 Turtle 解析器,这可能会奏效。

于 2013-06-18T22:27:31.853 回答