我有一个数据源文件,其中一个属性是实际的类实例:
<clinic:Radiology rdf:ID="rad1234">
<clinic:diagnosis>Stage 4</clinic:diagnosis>
<clinic:ProvidedBy rdf:resource="#MountSinai"/>
<clinic:ReceivedBy rdf:resource="#JohnSmith"/>
<clinic:patientId>7890123</clinic:patientId>
<clinic:radiologyDate>01-01-2017</clinic:radiologyDate>
</clinic:Radiology>
所以clinic:ProvidedBy
指向这个:
<clinic:Radiologists rdf:ID="MountSinai">
<clinic:name>Mount Sinai</clinic:name>
<clinic:npi>1234567</clinic:npi>
<clinic:specialty>Oncology</clinic:specialty>
</clinic:Radiologists>
如何使用属性clinic:providedBy
(类型为clinic:Radiologists
)进行查询?无论我尝试过什么都不会带来结果。
答案 0 :(得分:0)
目前还不清楚你想要具备什么,所以我的答案将返回“MountSinai提供的所有放射学资源”:
PREFIX clinic: <THE NAMESPACE OF_THE_CLINIC_PREFIX>
PREFIX : <THE_BASE_NAMESPACE_OF_YOUR_RDF_DOCUMENT>
SELECT DISTINCT ?s WHERE {
?s clinic:ProvidedBy :MountSinai
}
但是,我真的建议从RDF和SPARQL教程开始,因为您的评论形成了您的查询
SELECT * WHERE { ?x rdf:resource "#MountSinai" }
缺少基本的SPARQL基础知识。为了编写匹配的SPARQL查询,最好还是查看Turtle中的数据。 N-Triples格式都更接近SPARQL语法。