問題タブ [dotnetrdf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - dotnetrdfで単純な型付きリテラルを比較する方法は?
単純なリテラル オブジェクトを含む Turtle ファイルからのグラフと、明示的なデータ型 IRI を含むファイルからのグラフの 2 つのグラフを比較しています。それ以外の点では、グラフは等しいです。
グラフ A:
グラフ B:
RDF 1.1 (3.3 Literals)によると、「[s]imple リテラルは、データ型 IRI http://www.w3.org/2001/XMLSchema#stringを持つ抽象構文リテラルの構文糖衣です」。これは、具体的な構文仕様 ( N-Triples、Turtle、RDF XML ) にも反映されています。
したがって、どちらのグラフも、URI ノードs の主語、URI ノードpの述語、およびxsd:stringオブジェクト型のリテラル ノードoを持つ単一のトリプルで構成されると予想されます。これに基づいて、2つの間に違いはないと予想します。
ただし、これは実際には当てはまりません。
差分レポートには、トリプルが 1 つ追加され、トリプルが 1 つ削除されています。オブジェクト ノードのデータ型が異なるため、グラフは異なります。graphA.Triples.First().Object.Datatype
は何もありませんが、graphB.Triples.First().Object.Datatype
は正しい URI です。
この動作を変更するには、次のいずれかを行う必要があるようです
- LiteralNodeまでずっと下に移動する(そして、リテラル ノードに関する仮定を変更する)、または
- 新しいGraphDiffを作成します (文字列リテラルのデフォルトのデータ型を考慮します)。
回避策は、「デフォルト」のデータ型を削除することです。
RDF 1.1 と一貫性のある方法で単純なリテラルを型付きリテラルと比較する dotnetrdf の方法はありますか?
asp.net-mvc - データをインポートするために .Net アプリケーションで virtuoso ISQL コマンドを実行する
ISQL ワークスペースでいくつかのコマンドを使用して、.Net アプリケーションのいくつかの RDF ファイルをローカルの Virtuoso にインポート (または Virtuoso のインポート機能を自動化) したいと考えています。
PowerShell のコマンドは次のとおりです。
つまり、isql コマンドを終了してから、次のコマンドを実行する必要があります。
.net で PowerShellInstance を使用しようとしましたが、すべてのコマンドをこの形式で組み合わせるPowerShellInstance.AddScript("ISQL;ld_dir_all('PATH', '*.rdf', 'ONTOLOGY');set isolation='uncommitted';rdf_loader_run();");
と、エラーが発生します。
そこで、.Net アプリケーションで Virtuoso にデータを自動インポートするための助けやアイデアが必要です。(もしかしたら dotNetRDF に解決策があるかもしれません!)