我是SPARQL的新手。我想在Radlex ontology, as hosted at BioPortal中获得类的首选名称及其一个顶级上层类以及它们的同义词。
我希望看到输出: output
期限:密度相等 subClassOf :密度描述符 同义词:isodens,等密度,isodense
看起来,下面的代码解决了我的问题,但仍需要一些修改。因为,它带来了所有上层阶级,但我只想要一个上层阶级。
GZIPInputStream
答案 0 :(得分:3)
看起来您的主要任务之一是找到从哪里开始,或者如何指定Radlex子类的根。
我对Radlex没有经验,最近我没有使用过Bioportal。当我在Protege中打开Radlex本体时,它的类层次对我来说是合理的。但Bioportal终点的结果令人惊讶。
例如,RID5635“coin”是RID5633“个人项目”的子类,是 radlex_metaclass 的一个实例,但是不是 owl的一个实例:Class ,正如我期望的那样使用OBO代工本体。看起来并不是所有的Radlex子类都来自radlex_metaclass,因此使得所有子类都具有单个三重模式(如
)变得更加棘手?s a owl:Class
它看起来也不像Bioportal端点支持RDFS属性路径,所以我们不能要求
?s a rdfs:subClassOf* <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID1>
因此,我无法保证此查询返回Radlex中的所有子类...只是radlex_metaclass的所有直接子类
最后,正如AKSW指出的那样,http://bioontology.org/projects/ontologies/radlex/radlexOwl#是本体的名称,而不是超类。它没有子类,也不是我在本答案顶部描述的根发现问题的解决方案。
我添加了一个命名图限制,但这可能没有通过询问http://bioontology.org/projects/ontologies/radlex/radlexOwl#radlex_metaclass个实例做任何尚未完成的事情。
SELECT DISTINCT *
WHERE
{ GRAPH <http://bioportal.bioontology.org/ontologies/RADLEX_OWL>
{ ?radlexclass a <http://bioontology.org/projects/ontologies/radlex/radlexOwl#radlex_metaclass> ;
<http://bioontology.org/projects/ontologies/radlex/radlexOwl#Preferred_name> ?prefName
}
}
给出这样的结果
+------------------------------------------------------------------------+---------------------------------------------------------------------+
| radlexclass | prefName |
+------------------------------------------------------------------------+---------------------------------------------------------------------+
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID19012> | "posterior root of left first sacral nerve" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID23593> | "nerve to third posterior cervical intertransversarius" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID11053> | "hydrophilic wire" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID5825> | "right" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID18947> | "posterior root of sixth cervical nerve" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID16116> | "set of short association fibers of telencephalon" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID23701> | "left third thoracic nerve" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID23274> | "ascending branch of meningeal branch of right second sacral nerve" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID25244> | "right intermediomedial nucleus" |
| <http://bioontology.org/projects/ontologies/radlex/radlexOwl#RID5699> | "coalescent" |
+------------------------------------------------------------------------+---------------------------------------------------------------------+
等
答案 1 :(得分:0)
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX radlex: <http://bioontology.org/projects/ontologies/radlex/radlexOwlDlComponent#>
SELECT DISTINCT ?term ?name ?synonym ?subClassOf ?subClassOf_name
FROM <http://bioportal.bioontology.org/ontologies/RID>
WHERE
{
?term radlex:Preferred_name ?name .
?term radlex:Synonym ?synonym .
?term rdfs:subClassOf ?subClassOf .
?subClassOf radlex:Preferred_name ?subClassOf_name
} LIMIT 10