我已经使用TopBraid Composer Maestro Edition版本5.1.1在OWL / RDF本体中成功生成并测试了SPIN约束(使用SPARQL ASK
查询)。我现在想在Sesame中测试这些SPIN约束。如何将我在TopBraid COmposer Maestro Edition中编写的OWL本体中包含的SPIN约束,类定义,属性定义和测试个体转换为芝麻?
我正在使用Sesame OpenRDF Workbench:
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下的一个RDF文件中。
我尝试使用Sesame Open RDF workbench 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工作台添加RDF文件/ RDF数据文件命令,导致出现上述错误消息。
要取代某些可能的答案指示,这些指示在我的特定情况下无济于事:
答案 0 :(得分:1)
我能够通过修改我在Sesame中添加RDF的方式以及避免在RDF中实例化类来成功加载TopBraid Composer免费版中的RDF,并通过使用工作台执行的SPARQL UPDATE
查询来推迟修改/ / SPARQL更新。
具体来说,我原始帖子中的错误消息来自“使用基URI作为上下文标识符”。默认情况下,在Sesame Workbench修改/添加中选中此选项。取消选中此框会将我的RDF加载到其工作的默认图形/上下文中。从技术上讲,我认为这是避免问题而不是解决问题,因为RDF应该能够加载到命名的图形/上下文中,但我现在不需要它。
Add RDF Into Default Graph/Context by Unckecking "use base URI as context identifier"
清除此错误后,我的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 .
}