如何将RDF三元组添加到Blazegraph中



我正在尝试添加RDF的这个简单示例:

<rdf:RDF>
<rdf:Description>
<rdf:subject resource="http://www.w3.org/Home/Lassila"/>
<rdf:predicate resource="http://description.org/schema/Creator"/>
<rdf:object>Ora Lassila</rdf:object>
<rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
<a:attributedTo>Ralph Swick
</a:attributedTo>           
</rdf:Description>             
</rdf:RDF>

进入Blazegraph三重存储,但我得到以下错误:

ERROR: INSERT-WITH-BODY: baseURI=http://localhost:9999/bigdata/namespace/undefined/sparql, context-uri=[]  
java.util.concurrent.ExecutionException:     com.bigdata.rdf.sail.webapp.DatasetNotFoundException: Not found: namespace=undefined 
at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
at com.bigdata.rdf.sail.webapp.InsertServlet.doPostWithBody(InsertServlet.java:203) 
at com.bigdata.rdf.sail.webapp.InsertServlet.doPost(InsertServlet.java:119) 
at com.bigdata.rdf.sail.webapp.RESTServlet.doPost(RESTServlet.java:272)      
at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doPost(MultiTenancyServlet.java:144) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)

据我所知,我正在密切检查命名空间。

我也尝试过这个例子:

prefix dcterm: <http://purl.org/dc/terms/>
prefix dc: <http://purl.org/dc/elements/1.1/>
<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/metadata/dublin_core#"> 
<rdf:Description about="http://www.foo.com/cool.html"> 
  <dc:Creator>
    <rdf:Seq ID="CreatorsAlphabeticalBySurname">
      <rdf:li>Mary Andrew</rdf:li>
      <rdf:li>Jacky Crystal</rdf:li>
    </rdf:Seq>
  </dc:Creator>
  <dc:Identifier>
    <rdf:Bag ID="MirroredSites"> 
      <rdf:li rdf:resource="http://www.foo.com.au/cool.html"/>
      <rdf:li rdf:resource="http://www.foo.com.it/cool.html"/>
    </rdf:Bag>
  </dc:Identifier>
  <dc:Title>
    <rdf:Alt>
      <rdf:li xml:lang="en">The Coolest Web Page</rdf:li>
      <rdf:li xml:lang="it">Il Pagio di Web Fuba</rdf:li>
    </rdf:Alt>
  </dc:Title>
</rdf:Description> 

您的示例数据不是有效的XML,因此它不可能是有效的RDF/XML-您没有在XML中定义任何名称空间,因此它是无效的。

使用W3C XML验证器我得到以下错误:

错误行2,列8:未定义rdf上的命名空间前缀rdf<rdf:RDF>

错误行3,列19:未定义描述中的命名空间前缀rdf
<rdf:Description>

错误行4,列57:未定义主题上的命名空间前缀rdf <rdf:subject resource="http://www.w3.org/Home/Lassila"/>

错误行5,列66:未定义谓词上的命名空间前缀rdf
<rdf:predicate resource="http://description.org/schema/Creator"/>

错误行6,列14:未定义对象上的命名空间前缀rdf
<rdf:object>Ora Lassila</rdf:object>

错误行7,列76:未定义类型上的命名空间前缀rdf
<rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>

错误行8,列18:attributedTo上的命名空间前缀a不是已定义
<a:attributedTo>Ralph Swick

类似地,使用W3C RDF/XML验证器,我得到以下错误:

致命错误:元素"rdf:rdf"的前缀"rdf"未绑定。[线路=2,列=10]

最新更新