我正在尝试使用变量来创建一个N个三元组的图,分配变量没有任何问题,但是我一直收到错误消息。代码如下:
from rdflib import Namespace, URIRef, Graph
from StringIO import StringIO
xmlns = "http://www.example.org/lexicon#"
rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
lemon = "http://www.monnetproject.eu/lemon#"
graph = Graph()
F = open("new_2.txt", "r")
for line in F:
这是我分配变量的部分。这是相当长的,我知道它的工作,所以我不会包括这个。以下代码仍然是for line in F:
的一部分
这是我拥有的另一个正确打印所有内容的代码,表明不是变量不起作用。在
print('''<http://example.org/#'''+synset_offset+'''> <http://www.monnetproject.eu/lemon#lex_filenum> "'''+lex_filenum+'''".
<http://example.org/#'''+synset_offset+'''> <http://www.monnetproject.eu/lemon#ss_type> "'''+ss_type+'''".
<http://example.org/#'''+synset_offset+'''> <http://www.monnetproject.eu/lemon#gloss> "'''+gloss+'''".''')
for item in word:
print('''<http://example.org/#'''+synset_offset+'''> <http://www.monnetproject.eu/lemon#lex_entry> "'''+iw.next()+'''".''')
for item in S:
pointer = ip.next()
pos = iss.next()
source_target = ist.next()
print('''<http://example.org/#'''+synset_offset+'''> <http://www.monnetproject.eu/lemon#has_ptr> "'''+pointer+'''".
<http://example.org/#'''+pointer+'''> <http://www.monnetproject.eu/lemon#pos> "'''+pos+'''".
<http://example.org/#'''+pointer+'''> <http://www.monnetproject.eu/lemon#source_target> "'''+source_target+'''".''')
print('''\n''')
任何比我在这里做的更好的主意都是非常受欢迎的
编辑:现在我得到这个错误:
graph.add(triple)
File "/usr/lib/python2.7/site-packages/rdflib-4.1_dev-py2.7.egg/rdflib/graph.py", line 352, in add
def add(self, (s, p, o)):
ValueError: need more than 2 values to unpack
您尝试将“method”与
str
连接起来,这意味着iw.next
是指向该方法的“指针”,iw.next()
将是其返回值,这正是您想要的。在明确:
更新(关于下一个错误):
^{pr2}$triple
必须是一个包含3个元素的tuple
,就像函数签名所说的:忽略
self
,因为您正在调用实例方法。在我很确定
triple
有另一种类型,所以检查一下(最简单的方法是for
语句中的print triple
)。在相关问题 更多 >
编程相关推荐