Rdf 将特定图形从dbpedia复制到Virtuoso图形

Rdf 将特定图形从dbpedia复制到Virtuoso图形,rdf,dbpedia,virtuoso,dotnetrdf,triples,Rdf,Dbpedia,Virtuoso,Dotnetrdf,Triples,我试图使用C#中的dotnetrdf将一个特定的图表从dbpedia.org复制到本地名家。例如,dbpedia.org/resource/Category:2012年夏季奥运会自行车赛 下面的代码从Virtuoso获得图形,并将其所有三元组断言为我的新图形。然后我向Virtuoso添加了新的图表,但它不起作用 示例代码 IGraph g = new Graph() IGraph nG = new Graph() nG.BaseUri = new Uri(linkToDbpedia);

我试图使用C#中的dotnetrdf将一个特定的图表从dbpedia.org复制到本地名家。例如,
dbpedia.org/resource/Category:2012年夏季奥运会自行车赛

下面的代码从Virtuoso获得图形,并将其所有三元组断言为我的新图形。然后我向Virtuoso添加了新的图表,但它不起作用

示例代码

 IGraph g = new Graph()
 IGraph nG = new Graph()
 nG.BaseUri = new Uri(linkToDbpedia);

 UriLoader.Load(g, new Uri(linkToDbpedia))


 foreach(Triple t in g.Triples) {

   nG.Assert(t);

 }

 VirtuosoManager manager = new VirtuosoManager("localhost", 1111, VirtuosoManager.DefaultDB, "dba", "dba");
 PersistentTripleStore store = new PersistentTripleStore(manager);

 store.Add(nG);
 store.Flush();

我的主要任务是将SPARQL查询发送到我自己的Virtuoso db,因为它花费的时间更少。

在第二次尝试中,我尝试使用SPARQL查询复制图形,但没有用,因为在某些情况下,我的t.Object的Uri在其他情况下是整数、双精度和日期


这种方法没有得到充分的研究,所以你可以忽略它。

这是正确的答案:3

VirtuosoManager manager = new VirtuosoManager("localhost", 1111, VirtuosoManager.DefaultDB, "dba", "dba");

IGraph g = new Graph();
UriLoader.Load(g, new Uri(linkToDBpedia));

g.BaseUri = new Uri(linkToDBpedia);

manager.saveGraph(g);