如果三重存儲包含相同三元組的兩倍,那麼關於此冗餘的權威立場是什麼(如果存在)?RDF,權威視圖中的重複三元組?
此外,是否應允許三重商店在相同的上下文中存儲兩次相同的三重商品?
我問這個,因爲在rdflib顯然你可以存儲相同的三倍兩次(或更多)。這是讀者
import rdflib
from rdflib import store
s = rdflib.plugin.get('MySQL', store.Store)('rdfstore')
config_string = "host=localhost,password=foo,user=foo,db=foo"
rt = s.open(config_string,create=False)
if rt != store.VALID_STORE:
s.open(config_string,create=True)
graph = rdflib.ConjunctiveGraph(s, identifier = rdflib.URIRef("urn:uuid:a19f9b78-cc43-4866-b9a1-4b009fe91f52"))
rows = graph.query("SELECT ?id ?value { ?id <http://localhost#ha> ?value . }")
for r in rows:
print r[0], r[1]
,這是作家
import rdflib
from rdflib import store
s = rdflib.plugin.get('MySQL', store.Store)('rdfstore')
config_string = "host=localhost,password=foo,user=foo,db=foo"
rt = s.open(config_string,create=False)
if rt != store.VALID_STORE:
s.open(config_string,create=True)
graph = rdflib.ConjunctiveGraph(s, identifier = rdflib.URIRef("urn:uuid:a19f9b78-cc43-4866-b9a1-4b009fe91f52"))
graph.add((rdflib.URIRef("http://localhost/1000"), rdflib.URIRef("http://localhost#ha"), rdflib.Literal("18")))
graph.commit()
這是我獲得
[email protected]:~/tmp/gd $ python ./reader2.py
table kb_7b066eca61_relations Doesn't exist
table kb_7b066eca61_relations Doesn't exist
[email protected]:~/tmp/gd $ python ./reader2.py
[email protected]:~/tmp/gd $ python ./reader2.py
[email protected]:~/tmp/gd $ python ./writer2.py
[email protected]:~/tmp/gd $ python ./reader2.py
http://localhost/1000 18
[email protected]:~/tmp/gd $ python ./writer2.py
[email protected]:~/tmp/gd $ python ./reader2.py
http://localhost/1000 18
http://localhost/1000 18
對我來說,它表現爲一個錯誤。修改後的版本讓我發現,這兩個三元組屬於同一個語境,確實有2個三元以及
len : 2
http://localhost/1000 18
http://localhost/1000 18
(rdflib.URIRef('http://localhost/1000'), rdflib.URIRef('http://localhost#ha'), rdflib.Literal(u'18'), <Graph identifier=urn:uuid:a19f9b78-cc43-4866-b9a1-4b009fe91f52 (<class 'rdflib.Graph.Graph'>)>)
(rdflib.URIRef('http://localhost/1000'), rdflib.URIRef('http://localhost#ha'), rdflib.Literal(u'18'), <Graph identifier=urn:uuid:a19f9b78-cc43-4866-b9a1-4b009fe91f52 (<class 'rdflib.Graph.Graph'>)>)
這也是我的想法,但顯然我在rdflib中發現了一個bug,因爲我一次又一次地推動相同的三元組,並且我得到了重複。 – 2009-12-08 07:24:06