标签: rdflib

使用rdflib python使用sparql DELETE查询时出错

我试图使用python的rdflib库从RDF图中删除三元组,但没有成功.我的查询是从http://www.w3.org/TR/sparql11-update/#delete学到的.

plugin.register(
    'sparql', rdflib.query.Processor,
    'rdfextras.sparql.processor', 'Processor')
plugin.register(
    'sparql', rdflib.query.Result,
    'rdfextras.sparql.query', 'SPARQLQueryResult')

bdel= graph.query(""" 
PREFIX bibo: <http://purl.org/ontology/bibo/>                       
DELETE  {?s ?p ?o}
WHERE { 
         ?s bibo:reproducedIn ?o. 
      }""")
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误,解决这个问题的任何线索.提前致谢.

pyparsing.ParseException: Expected "SELECT" (at char 116), (line:4, col:17)
Run Code Online (Sandbox Code Playgroud)

python sparql rdflib

1
推荐指数
1
解决办法
483
查看次数

使用 RDFlib 获取 Literal 对象的 lang 值

我有这个 rdf 文件:

<!DOCTYPE rdf:RDF [
    <!ENTITY db "http://dbpedia.org/ontology/" >
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >]>

<rdf:RDF xmlns="http://dbpedia.org/ontology/"
     xml:base="http://dbpedia.org/ontology/"
     xmlns:db="http://dbpedia.org/ontology/"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">


    <owl:ObjectProperty rdf:about="&db;actingHeadteacher">
        <rdfs:label xml:lang="el">?????????? ????????</rdfs:label>
        <rdfs:label xml:lang="en">acting headteacher</rdfs:label>
    </owl:ObjectProperty>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

并希望通过 lang 值过滤 Literal 对象。例如:

from rdflib import Graph
from rdflib.namespace import RDFS
filetype = util.guess_format(rdf_file)
g = Graph()
g.parse(rdf_file, format = filetype)
for s,p,o in g.triples((None, RDFS.label, None)):
    print(repr(o))  # rdflib.term.Literal('acting headteacher', lang='en')
                    # rdflib.term.Literal('?????????? …
Run Code Online (Sandbox Code Playgroud)

python rdflib

1
推荐指数
1
解决办法
1898
查看次数

RDFLib空白节点打印

我有一个RDF数据集,其中三元组以N-Triples格式存储,如下所示:

<http://ebola.ndssl.bi.vt.edu/country/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ebola.ndssl.bi.vt.edu/vocab/country> .
_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1 <http://ebola.ndssl.bi.vt.edu/vocab/hasValue> "Guinea" .
Run Code Online (Sandbox Code Playgroud)

我想用空白节点做一些处理.我正在编写一个用Python读取这个文件的程序.我正在使用Python RDFLib库.阅读文件后,我打印其内容.但是,问题是空白节点名称的出现方式不同.例如:

_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1
 is showing like following
N75424221e7df43708c3e2a135e3e888b
Run Code Online (Sandbox Code Playgroud)

我需要原始的RDF文件空白节点名称如下:

_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1
Run Code Online (Sandbox Code Playgroud)

如何打印原始RDF文件空白节点名称?

python rdf rdflib blank-nodes

1
推荐指数
1
解决办法
328
查看次数

将RDF转换为OWL

我想生成遵循OWL格式的RDF代码.我能够生成一个RDF文件,但我需要将其转换为OWL.下面是我可以生成的RDF.

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
   xmlns:ns1="http://example.com/nodetypes/2012/04/24/vehicle/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>
  <rdf:Description rdf:about="http://example.com/nodetypes/2012/04/24/vehicle/2">
    <ns1:nodetype_ptr_id>2</ns1:nodetype_ptr_id>
    <ns1:slug>vehicle</ns1:slug>
    <ns1:last_update>2012-04-24 23:49:36.633689</ns1:last_update>
    <ns1:end_publication>2042-03-15 00:00:00</ns1:end_publication>
    <ns1:tree_id>2</ns1:tree_id>
    <ns1:featured>False</ns1:featured>
    <ns1:parent_id>None</ns1:parent_id>
    <ns1:content></ns1:content>
    <ns1:rating_score>0</ns1:rating_score>
    <ns1:rating_votes>0</ns1:rating_votes>
    <ns1:start_publication>2012-04-24 23:49:15</ns1:start_publication>
    <ns1:level>0</ns1:level>
    <ns1:creation_date>2012-04-24 23:49:15</ns1:creation_date>
    <ns1:status>2</ns1:status>
    <ns1:template>gstudio/nodetype_detail.html</ns1:template>
    <ns1:content_org>None</ns1:content_org>
    <ns1:excerpt></ns1:excerpt>
    <ns1:plural>vehicles</ns1:plural>
    <ns1:comment_enabled>True</ns1:comment_enabled>
    <ns1:password></ns1:password>
    <ns1:title>vehicle</ns1:title>
    <ns1:login_required>False</ns1:login_required>
    <ns1:pingback_enabled>True</ns1:pingback_enabled>
    <ns1:rurl></ns1:rurl>
  </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

rdf owl xml-serialization rdflib

0
推荐指数
2
解决办法
3262
查看次数

如何解决SPARQL警告?

我试图找回漫画书的inkers名字.我正在尝试建立一个本体论.Inkers有dbpprop,我导入了rdlib和sparqlWrapper,而我遇到了以下错误.有没有人理解这个问题?

  Abcde-MacBook-Pro:example Abcde$ python basicTest.py 
  WARNING:rdflib.term:  does not look like a valid URI, trying to serialize     this will break.
  Abcde-MacBook-Pro:example Abcde$ python basicTest.py 
  Traceback (most recent call last):
  File "basicTest.py", line 78, in <module>
  g = sparql.query().convert()
  File "build/bdist.macosx-10.10-intel/egg/SPARQLWrapper/Wrapper.py", line 535, in query
  File "build/bdist.macosx-10.10-intel/egg/SPARQLWrapper/Wrapper.py", line 513, in _query
  SPARQLWrapper.SPARQLExceptions.EndPointInternalError:    EndPointInternalError: endpoint returned code 500 and response. 

  Response:
   Virtuoso RDF01 Error Bad variable value in CONSTRUCT: "Malcolm Jones III"    (tag 246 box flags 0) is not a valid subject, only …
Run Code Online (Sandbox Code Playgroud)

testing rdf sparql rdflib dbpedia

0
推荐指数
1
解决办法
664
查看次数

标签 统计

rdflib ×5

python ×3

rdf ×3

sparql ×2

blank-nodes ×1

dbpedia ×1

owl ×1

testing ×1

xml-serialization ×1