我正在寻找一种巧妙的方法来从freebase RDF API解析RDF。 。我尝试了 jquery.rdf.js
/jquery.rdf.turtle.js
,但它似乎在处理点符号 CURIE 时遇到问题。例如,下面是我从 Freebase 获得的关于城市“Oslo”
的 Turtle:
@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...'
有没有办法替换.
,或者不同的库或解决方法?
最佳答案
我认为您的基本问题是 Freebase RDF 似乎正在使用最新版本的 Turtle specification目前是 W3C 候选推荐。此版本的 Turtle 规范确实允许使用 .
的 QName(加上许多其他以前的非法字符),而较旧且技术上非官方的 Turtle specification大多数当前工具都没有实现。
当前规范是 2013 年 1 月发布的,我能找到的关于允许 .
的更自由的前缀名称语法的最早引用是 2012 年 7 月的草案。相反,您使用的工具根据其 SVN 的最新更新是在 2009 年,因此它不支持此语法也就不足为奇了。
我确实找到了一个blog post其中讨论了开发一个符合 Javascript 最新规范的 Turtle 解析器,这可能会解决问题。
关于rdf - 在 Javascript 中从 Freebase RDF API 解析 Turtle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179649/