0

オントロジー ファイル内に多数のクラスがあり、xml ファイル内に同じ数の異なる名前のクラスがあります。XML ファイルから RDF トリプル ストアを作成しました。ここで、トリプル ストア内のクラスの名前をオントロジー内のクラスの名前に変更する必要があります。

誰でもSPARQLクエリを使用して同等にする方法を考えられますか? SPARQL クエリで実行できない場合、最善の方法は何ですか?

----------- これは RDF の一部です -------

<rdf:RDF
    xmlns:j.0="http://link/myLink/myOntology.rdf#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > 
  <rdf:Description rdf:about="http://myDomain/myLink/%a=class/class9/">
    <j.0:hadP>Sea Power</j.0:hadP>
    <j.0:hadP>Steel city</j.0:hadP>
    <j.0:hadP>Singer1</j.0:hadP>
    <j.0:hadV>20</j.0:hadV>
    <j.0:hadP>City</j.0:hadP>
    <j.0:hadP>Singer2</j.0:hadP>
    <j.0:hadP>Singer3</j.0:hadP>
    <j.0:hadV>80</j.0:hadV>
    <j.0:hadVEvent>web:V</j.0:hadVEvent>
    <j.0:hadP>Park</j.0:hadP>
    <j.0:hadP>Arctic</j.0:hadP>
    <j.0:hadP>Guns</j.0:hadP>
    <rdf:type rdf:resource="http://link/myLink/myOntology.rdf#**ClassName**"/>
    <j.0:hadP>City Center</j.0:hadP>
    <j.0:hadV>100</j.0:hadV>
    <j.0:hadV>40</j.0:hadV>
  </rdf:Description>
 </rdf:RDF>

名前 (ClassName) を別の名前 (ClassA) に変更したい。SPARQL QUERY を書くことでそれを行うことはできますか?

ツールキットとしてgenaを使用していますが、私が求めていることが可能かどうかはわかりません!

4

1 に答える 1

0

Resource一般に、Jena リソースは不変です。一度作成されたオブジェクトを変更することはできません。これは、クラスを含め、どのリソースの URI も変更できないことを意味します。

代わりに、モデルを更新して名前変更の効果を示す必要があります。リソースの名前を に変更するとRしますS。各トリプルについて:

R P O

新しいトリプルを追加する必要があります:

S P O

R P O古いトリプルを削除します。同様に、各トリプルQ P Rを削除し、トリプルをQ P S追加する必要があります。

Jena API には、これを行うためのユーティリティがあります: ResourceUtils.renameResource. SPARQL に固執したい場合は、同じトリプルの追加と削除のプロセスを実行する必要がありますが、 JenaでサポートされているSPARQL Updateを介して実行できます。

于 2012-05-13T23:41:56.467 に答える