基于2个筛选器的URI的SPARQL端点对象

基于2个筛选器的URI的SPARQL端点对象,sparql,Sparql,我试图从中获取由烧制粘土(材料)制成的圆柱体(对象类型)的URI。 在我自己测试了这个程序一段时间后,没有结果,我从同事那里得到了两条建议,但是两条建议都不起作用。 有人知道如何成功地输入这样的查询吗 PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX crm: <http://erlangen-crm.org/current/> PREFIX rdf: <http://www.w3.org/1999

我试图从中获取由烧制粘土(材料)制成的圆柱体(对象类型)的URI。 在我自己测试了这个程序一段时间后,没有结果,我从同事那里得到了两条建议,但是两条建议都不起作用。 有人知道如何成功地输入这样的查询吗

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX crm: <http://erlangen-crm.org/current/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?object
WHERE {
  ?object crm:P2_has_type ?objecttype.
  ?objecttype skos:prefLabel "cylinder".                            
  ?object crm:P45_consists_of ?materialid.                    
  ?materialid skos:prefLabel "fired clay".
}
前缀skos:
前缀crm:
前缀rdf:
选择?对象
在哪里{
?对象crm:P2_具有_类型?对象类型。
?对象类型skos:预标签“圆柱体”。
?对象crm:P45由物质组成。
?物质化skos:预先标记“烧制粘土”。
}

前缀skos:
前缀thes:
前缀rso:
选择气缸
在哪里{
?气缸rso:PX\U对象类型:x5597。
?烧结粘土rso:PX\U显示器包装:x41443。
}
例如

选择*
在哪里{
?对象rso:对象具有类型概念类型。
?skos型:预贴标签“气缸”。
?对象rso:对象具有材料类型概念?材料。
?材料skos:预贴标签“烧结粘土”。
}限制100

选择*
在哪里{
对象rso:对象具有类型概念thes:x6329。
?对象rso:对象具有材料类型概念:x41443。
}限制100

事实上,有很多方法可以满足您的需求,因为存在许多同义属性。
尝试此“元查询”:

选择不同的?类型属性?材料属性
在哪里{
值(?对象){()}
?对象?类型\属性?类型。
?skos型:预贴标签“气缸”。
?对象?材料?属性?材料。
?材料skos:预贴标签“烧结粘土”。
}

至于
rso:PX\u display\u wrap
属性,它可以这样使用:

SELECT?对象
在哪里{
?对象rso:PX_显示_包裹“对象类型::圆柱体::”。
?对象rso:PX_显示_包裹“由::烧结粘土::”组成。
}
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX thes: <http://collection.britishmuseum.org/id/thesauri/>
PREFIX rso: <http://www.researchspace.org/ontology/>
SELECT ?cylinder
WHERE {
?cylinder rso:PX_object_type thes:x5597.
?fired_clay rso:PX_display_wrap thes:x41443.
}