2

ASKTopBraid Composer Maestro Edition バージョン 5.1.1 を使用して、OWL/RDF オントロジー内で(SPARQL クエリを使用して) SPIN 制約を正常に生成およびテストしました。これらの SPIN 制約を Sesame でテストしたいと思います。TopBraid COmposer Maestro Edition で作成された OWL オントロジーに含まれる SPIN 制約、クラス定義、プロパティ定義、およびテスト個体を Sesame に取得するにはどうすればよいですか?

私はセサミOpenRDFワークベンチを使用しています:

System Information
Application Information
Application Name    OpenRDF Workbench
Version 4.1.2
Runtime Information
Operating System    Windows 8.1 6.3 (amd64)
Java Runtime    Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (1.8.0_91)
Process User    Greg
Memory
Used    357 MB
Maximum 3463 MB

私の制約、クラス、プロパティ、および個体の例は、TopBraid Composer Maestro Edition の下の 1 つの RDF ファイルに含まれています。

Sesame Open RDF ワークベンチModify/Addコマンドを使用して、TopBraid Maestro Edition によって生成された RDF ファイルを取り込もうとしましたが、空白のノードに関連しているように見えるエラーが発生します。

javax.servlet.ServletException: org.openrdf.repository.RepositoryException: org.openrdf.repository.RepositoryException: org.openrdf.sail.SailException: org.openrdf.query.QueryEvaluationException: Multiple statements for pattern: _:node1alqlr2eix590 http://spinrdf.org/sp#where null

TopBraid Composer Maestro Edition から正しくエクスポートしていないのでしょうか? TopBraid Composer Maestro Edition のファイル システムに RDF ファイルの一般的なエクスポートを使用し、Sesame OpenRDF ワークベンチの add RDF File / RDF Data File コマンドを使用した結果、上記のエラー メッセージが表示されました。

私の特定のケースでは役に立たない可能性のある回答の指示を先取りするには:

  1. 特に、SWRL やその他のルール言語ではなく、SPIN コンストラクターと制約を使用したいと考えています。
  2. 私は TopBraid Composer Maestro Edition で成功し、TopQuadrant から得た支援に感謝していますが、他のコンピューターと対話しながら SPIN コンストラクターと制約を使用するために必要な TopBraid Live ライセンスを購入する余裕はありません。(TopBraid Composer Maestro Edition には SPARQL エンドポイントがありますが、そのエンドポイントにはホスト マシンから localhost 経由でのみアクセスできます。)また、Sesame の実装が、TopBraid ツールが行う SPIN 制約とコンストラクターに同じ制限のいくつかを課しているかどうかも判断したいと思います。
4

1 に答える 1

1

SPARQL UPDATESesame で RDF を追加する方法を変更し、RDF でクラスをインスタンス化するのを回避し、代わりにワークベンチ Modify/SPARQL Update を使用して実行されるクエリを使用してそれを延期することにより、TopBraid Composer Free Edition から RDF を正常にロードすることができました。

具体的には、元の投稿のエラー メッセージは、「ベース URI をコンテキスト識別子として使用する」ことによるものでした。このオプションは、Sesame Workbench の [変更/追加] でデフォルトでオンになっています。このボックスのチェックを外すと、RDF が機能するデフォルトのグラフ/コンテキストに読み込まれます。技術的には、RDF は名前付きグラフ/コンテキストにもロードできるはずなので、これは問題を解決するのではなく、回避することだと考えていますが、今のところその必要はありません。

「use base URI as context identifier」のチェックを外してRDFをデフォルトのグラフ/コンテキストに追加

このエラーをクリアした後、私の RDF ファイルはいくつかの個人をインスタンス化し、Sesame へのロード時に問題を引き起こしました。SPARQL Update クエリを使用してテストのインスタンス化を作成することで、この問題を回避しました。次に例を示します。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX sxxicc: <http://www.disa.mil/dso/a2i/ontologies/PBSM/Interface/SXXIComplianceCheck#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX sp: <http://spinrdf.org/sp#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX smf: <http://topbraid.org/sparqlmotionfunctions#>
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
PREFIX spl: <http://spinrdf.org/spl#>
PREFIX spin: <http://spinrdf.org/spin#>
PREFIX arg: <http://spinrdf.org/arg#>
PREFIX SXXIComplianceCheckIndividuals: <http://www.disa.mil/dso/a2i/ontologies/PBSM/Interface/SXXIComplianceCheckIndividuals#>
PREFIX sxxicci: <http://www.disa.mil/dso/a2i/ontologies/PBSM/Interface/SXXIComplianceCheckIndividuals#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

INSERT DATA
{
   sxxicci:TestPub7Proposal a sxxicc:Pub7Proposal ;
           sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal_DataItem005 ;
           sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal_DataItem017 ;
           sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal_DataItem102 .

   sxxicci:testPub7Proposal_DataItem005 a sxxicc:Pub7DataItem005 ;
           sxxicc:pub7DataItemHasStringValue "S"^^xsd:string .

   sxxicci:testPub7Proposal_DataItem102 a sxxicc:Pub7DataItem102 ;
           sxxicc:pub7DataItemHasStringValue "AF  881234"^^xsd:string .

   sxxicci:testPub7Proposal_DataItem017 a sxxicc:Pub7DataItem017 ;
           sxxicc:pub7DataItemHasStringValue "U"^^xsd:string .
}
于 2016-06-30T17:36:14.870 に答える