找到两个项目之间最精确的公共超类

Find the most precise common superclasses between two items

我想找到几个维基数据实体之间的第一个公共超级class(es)。

来个bridge and a cemetery。他们的"smallest"共同superclass是什么?

---> 他们最专业的common class是"architectural structure".

This Sparql query 接近解:

SELECT ?classe ?classeLabel WHERE {

wd:Q12280 wdt:P279* ?classe .
FILTER  EXISTS { wd:Q39614 wdt:P279* ?classe .}

 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }

}

问题:它 returns 两个项目之间的所有共同点 class,而不仅仅是第一个。我怎样才能过滤答案以获得我想要的?

如果其他人对这个问题感兴趣,这里是我最终用来获取两个以上项目的最不常见子消费者的 SPAQL 查询。这是 @AKSW 在评论中的回应和对 that previous question on SO.

的回答的混合
SELECT ?lcs ?lcsLabel WHERE {

    ?lcs ^wdt:P279* wd:Q32815, wd:Q34627, wd:Q16970, wd:Q16560 .
    filter not exists {
    ?sublcs ^wdt:P279* wd:Q32815, wd:Q34627, wd:Q16970, wd:Q16560 ;
          wdt:P279 ?lcs .
      }

      SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } 
    }

Try it.