問題タブ [turtle-rdf]
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.
namespaces - Jena RDF モデルで使用されるすべての名前空間を取得する方法
com.hp.hpl.jena.rdf.model.Model.listNameSpaces() を使用して、Jena RDF モデルの名前空間を取得しています。
しかし、モデルには、listNameSpaces メソッドによってリストされていない名前空間を持つステートメント オブジェクトを含めることができることに気付きました。
たとえば、カメラ グラフ ( http://www-users.cs.york.ac.uk/~jc/teaching/arin/camera.owl.turtle ) には次のオブジェクトが含まれていますが、それらの名前空間は名前空間に表示されません。リスト:
http://www.dbpedia.org/resource/ Nikon http://www.w3.org/2001/XMLSchema# decimal
これらの 2 つの ns がリストされない理由を知っている人はいますか? ありがとう。
// 圧縮コード:
rdf - Turtle の GML 文字列
Turtle ファイルで OGC GeoSPARQL ボキャブラリを使用しようとしています。ここにフラグメントがあります:
この表記法は、私が使用するオンライン RDF バリデーター ( http://www.rdfabout.com/demo/validator/ ) によって拒否されます。これは、"EPSG:28992" などの二重引用符が原因です。これは、二重引用符を単一引用符に変更することで解決できます。GMLが無効になることはないと思います。しかし、二重引用符は GML の生成方法であるため、そのままにしておきます。
RDF/XML では、解決策は次のように CDATA ブロックを使用することです (GeoSPARQL ドキュメントの例。はい、WKT ですが、同じ原則が適用されます)。
タートルでそのようなことをする方法はありますか? または、このようなケースを処理する他の方法はありますか?
前もって感謝します!
rdf - 複数のサブジェクトが空白ノードの同じリストを指していることを確認する
の次のインスタンスを考えてみましょうSomeClass
:
すべてのインスタンス ( some_thing2
、some_thing3
など) が、空のノードの同じリストをhasChainTo
指すようにする必要があります (そのコピーが 1 つしかないため)。チェーンが非常に深くなり、この構文は各チェーン ( 、など)を書き出すのに非常に流動的であるため、空白ノード構文のリストを維持する必要があります。SomeClass2
SomeClass3
基本クラスとそこから subClassOf を単純に作成すると、hasChainTo
プロパティは継承されますが、それが指しているオブジェクトは継承されません。これは直感的には理にかなっていますが、他の動作が必要です。
これはどのように達成できますか?
rdf - タートルファイルでコレクションの数を見つける
最初にステートメントからオブジェクトを抽出してから、関数の1つを使用しようとしましたisBag() isSeq() and isAlt()
が、エラーが発生しました
rdf - Protege 4 - ネストされた空白ノードを再フォーマットする RDF の保存
Protege を試すために TopBraid から切り替えました。
これに似たRDFのオントロジーがあります:
このネストされた空白ノードの構文は、チェーンが非常に深くなり、チェーンが時々変更され、新しいチェーンが追加される可能性があるため、この構文は流動的で非常に読みやすく、保守しやすいため、うまく機能するという考えです。
それだけでなく、結果のグラフに対するクエリを既に作成しています。
問題は、これを Protege にインポートしてすぐに保存すると、結果が次のように再フォーマットされることです。
結果として得られる RDF は、クエリ システムを完全に破壊するだけでなく、このアプローチを使用して「連鎖」を表現することの他の利点も破壊します。
これを回避する方法はありますか?そうでない場合は、TopBraid に戻らざるを得なくなる可能性があります。
更新:問題の再現は次のとおりです。
私はbugTest.ttl
それを書いてProtegeで開き、すぐに名前を付けて保存>タートル> bugTestOutput.ttl
:
https://dl.dropboxusercontent.com/u/13814624/bugTest.ttl https://dl.dropboxusercontent.com/u/13814624/bugTestOutput.ttl
rdf - RDF - rdf:type をリスト内のすべての項目に配布する
次の RDF を検討してください。
その場合、リストがsemapi:hasChainTo rdfs:range semapi:BaseClass
であることを意味します。rdf:type semapi:BaseClass
私が言いたいのは、リストの各項目はrdf:type
(ei. [C1] rdf:type semapi:BaseClass
, [C2] rdf:type semapi:BaseClass
, ...) であるということです。
これどうやってするの?フクロウは必要ですか (できれば必要ありません)?
jena - Sesame が Jena によって作成された Turtle ファイルを開けない
Jena によって作成されたTurtleファイルが Sesame で開かれません。詳しく分析したところ、Jena は名前空間のプレフィックスを使用しているのに対し、Sesame は競合する名前空間を使用していることがわかりました。どうすればこれを解決できますか?
セサミが使っているのはこれです。
これはイエナが使用するものです: