2

C# でdotnetrdfを使用して、特定のグラフをdbpedia.orgからローカルの巨匠にコピーしようとしています。例えばdbpedia.org/resource/Category:Cyclists_at_the_2012_Summer_Olympics

以下のコードは、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 データベースに送信することです。

4

2 に答える 2

0

これが正解です: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);
于 2015-04-29T06:51:12.247 に答える
0

2番目に、 sparqlクエリを使用してグラフをコピーしようとしましたが、t.ObjectUriである場合と、IntegerDouble、およびDateがある場合があるため、役に立ちませんでした。

この方法は十分に研究されていないため、無視してかまいません。

于 2015-04-28T11:24:56.487 に答える