使用耶拿(Jena)解析OWLS文档(RDF)时遇到问题。
该文档是OWLS Grounding,有我感兴趣的一段代码:
<grounding:WsdlAtomicProcessGrounding rdf:ID="wsdl_Grounding">
<grounding:owlsProcess rdf:resource="process"/>
<grounding:wsdlOperation>
<grounding:WsdlOperationRef>
<grounding:portType rdf:datatype="&xsd;#anyURI">&WSDL;#operationPort</grounding:portType>
<grounding:operation rdf:datatype="&xsd;#anyURI">&WSDL;#operationPort</grounding:operation>
</grounding:WsdlOperationRef>
</grounding:wsdlOperation>
...(the OWLS Grounding continues)
我想获取“ portType”值,但是如果尝试使用下一个SPARQL代码,则没有任何结果。
PREFIX grounding: "http://www.daml.org/services/owl-s/1.2/Grounding.owl"
SELECT ?x y?
WHERE {
?x grounding:hasAtomicProcessGrounding/grounding:wsdlOperation/grounding:WsdlOperationRef/grounding:portType ?y
};
我建立的所有查询均有效,但这种查询具有链接的属性,
就我而言,链接的属性是; wsdlOperation,WsdlOperationRef和portType。
提前致谢 ;)
最佳答案
您需要确保使用的是SPARQL 1.1语法。缺省值为SPARQL 1.0,它不支持属性路径。使用接受com.hp.hpl.jena.query.Syntax
参数并传递syntaxSPARQL_11
常量的API调用。