如何在支持SPIN的存储库中加载在TopBraid Composer中创建的SPARQL/SPIN约束和构造函数,以便在Sesame中使用?
我已经使用TopBraid Composer Maestro Edition 5.1.1版在OWL/RDF本体中成功地生成并测试了自旋约束(使用SPARQL如何在支持SPIN的存储库中加载在TopBraid Composer中创建的SPARQL/SPIN约束和构造函数,以便在Sesame中使用?,sparql,rdf,sesame,topbraid-composer,spin-rdf,Sparql,Rdf,Sesame,Topbraid Composer,Spin Rdf,我已经使用TopBraid Composer Maestro Edition 5.1.1版在OWL/RDF本体中成功地生成并测试了自旋约束(使用SPARQLASKquerys)。我现在想在Sesame中测试这些自旋约束。如何将TopBraid COmposer Maestro Edition中编写的OWL本体中包含的自旋约束、类定义、属性定义和测试个体转换为Sesame 我正在使用Sesame OpenRDF工作台: System Information Application Informat
ASK
querys)。我现在想在Sesame中测试这些自旋约束。如何将TopBraid COmposer Maestro Edition中编写的OWL本体中包含的自旋约束、类定义、属性定义和测试个体转换为Sesame
我正在使用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下的一个RDF文件中
我曾尝试使用Sesame Open RDF workbenchModify/Add
命令拉入TopBraid Maestro Edition生成的RDF文件,但我发现一个错误,似乎与空白节点有关:
javax.servlet.ServletException:org.openrdf.repository.RepositoryException:org.openrdf.repository.RepositoryException:org.openrdf.sail.SailException:org.openrdf.query.QueryEvaluationException:模式的多个语句:\节点1 ALQLR2EIX590http://spinrdf.org/sp#where 空
也许我没有正确地从TopBraid作曲家大师版导出?在TopBraid Composer Maestro Edition中,我使用了RDF文件到文件系统的通用导出,并且使用了Sesame OpenRDF workbench add RDF file/RDF Data file命令,导致了上述错误消息
为了抢先回答一些可能对我的具体情况没有帮助的问题:
通过修改我在Sesame中添加RDF的方式,并避免在RDF中实例化类,通过使用
SPARQL更新执行的查询(而不是使用workbench Modify/SPARQL更新),我能够成功地从TopBraid Composer Free Edition加载RDF
具体来说,我的原始帖子中的错误消息是由“使用基本URI作为上下文标识符”引起的。在Sesame Workbench Modify/Add中默认选中此选项。取消选中此框会将我的RDF加载到它工作的默认图形/上下文中。从技术上讲,我认为这是在避免问题,而不是解决问题,因为RDF也应该能够加载到命名的图形/上下文中,但我现在不需要
清除此错误后,我的RDF文件实例化了一些个人,这在加载到Sesame时造成了麻烦。通过使用SPARQL更新查询创建测试实例,我避免了这个问题。下面是一个例子:
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 .
}
前缀rdf:
前缀sxxicc:
前缀owl:
前缀sp:
前缀rdfs:
前缀smf:
前缀fn:
前缀spl:
前缀旋转:
前缀arg:
前缀SXXIComplianceCheckIndividuals:
前缀sxxicci:
前缀xsd:
插入数据
{
sxxicci:testpub7提案a sxxicc:pub7提案;
sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal_DataItem005;
sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal_DataItem017;
sxxicc:pub7ProposalHasDataItem sxxicci:testPub7Proposal\u DataItem102。
sxxicci:testPub7Proposal\u DataItem005 a sxxicc:Pub7DataItem005;
sxxicc:pub7DataItemHasStringValue“S”^^xsd:string。
sxxicci:testPub7Proposal\u DataItem102 a sxxicc:Pub7DataItem102;
sxxicc:pub7DataItemHasStringValue“AF 881234”^^xsd:string。
sxxicci:testPub7Proposal\u DataItem017 a sxxicc:Pub7DataItem017;
sxxicc:pub7DataItemHasStringValue“U”^^xsd:string。
}
您是否选择了带有旋转推理的Sesame存储库类型?是的,Scott,我选择了一个支持SPIN+RDFS的内存存储。我本想把这一点包括在我的问题中,但没有包括在内。错误消息引用了Sail,我相信它提供了SPIN的Sesame实现。另外请注意,我尝试导入的RDF文件相对较小,总共不到2000个事实,因此内存中应该没有问题。Sesame/RDF4J中的SPIN支持仍然是测试版,很可能您发现了一个bug。您能否提交一份包含相关细节的bug报告(包括导致问题的实际RDF/SPIN文件)?谢谢Jeen Broekstrat。这项工作是国防部的。虽然它没有分类,但我还是应该从本体中去掉一些东西,确保它仍然存在相同的问题。我可以保留其中一个约束条件,而不用担心披露一些我不应该披露的东西。然后,假设问题仍然存在,我可以提交bug报告。如果这个问题没有持续下去,这本身就是一个重要的线索。谢谢你重新格式化,塔尔特。下次提交时,我会尽量把它格式化得更好。我还不熟悉问题格式工具。