Rdf 将特定图形从dbpedia复制到Virtuoso图形
我试图使用C#中的dotnetrdf将一个特定的图表从dbpedia.org复制到本地名家。例如,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);
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);