使用SPARQL查询DBPedia以查找右翼政党

使用SPARQL查询DBPedia以查找右翼政党,sparql,dbpedia,Sparql,Dbpedia,我正在努力寻找欧盟中的所有极右翼政党,此外我还想要他们的领导人。在dbpedia for property has中是dbpedia owl:party of,我不知道如何使用它 以下是我目前的疑问: SELECT str(?Lparty) as ?Politicalparty str(?Lcountry) as ?EUCountry str(?Lleader) as ?EUleader WHERE { ?Party dbpprop:position ?Position ;

我正在努力寻找欧盟中的所有极右翼政党,此外我还想要他们的领导人。在dbpedia for property has中是dbpedia owl:party of,我不知道如何使用它

以下是我目前的疑问:

SELECT str(?Lparty) as ?Politicalparty str(?Lcountry) as ?EUCountry str(?Lleader) as     ?EUleader
WHERE
{
  ?Party dbpprop:position ?Position ;
         rdfs:label ?Lparty ;
         dbpedia-owl:country ?Country ;
         a dbpedia-owl:PoliticalParty ;

         # The following are the problematic lines

         dbpedia-owl:party ?Leader ;
         rdfs:label ?Lleader.

         # End problematic lines

  FILTER(LANGMATCHES(LANG(?Lleader), "en")).
  FILTER(?Position IN (dbpedia:Far-right_politics,dbpedia:Nazism, dbpedia:Nationalism)).
  FILTER(NOT EXISTS{?Party dbpprop:dissolved ?otherBalue}).
  FILTER(NOT EXISTS{?Party dbpprop:dissolution ?otherBalue}).
  FILTER(LANGMATCHES(LANG(?Lparty), "en")).
  ?Country dcterms:subject category:Member_states_of_the_European_Union;
           rdfs:label ?Lcountry.
  FILTER(LANGMATCHES(LANG(?Lcountry), "en")).
} 

我正在解决一个类似于您的查询,过了一段时间,我意识到一些
?leader
已经是标签,而另一些是需要提取标签的URI。例如,在您的情况下,如果您将“有问题的部分”更改为
?Party dbpprop:leader?leader.
,您可以得到诸如
Hendrik Elias
http://dbpedia.org/resource/Wies_Moens
同时。因此,如果您在这两种情况下都需要标签,则需要决定何时深入挖掘。因为我的版本是一个更大程序的一部分,所以我可以更快地通过程序解决这个问题。基于这些解释,我能写的最简单的查询是:

SELECT distinct str(?Lparty) as ?Politicalparty str(?Lcountry) as ?EUCountry str(?Leader) as     ?EUleader
WHERE
{
  ?Party dbpprop:position ?Position ;
  rdfs:label ?Lparty ;
  dbpedia-owl:country ?Country ;
  a dbpedia-owl:PoliticalParty.
  ?Party dbpprop:leader ?Leader.

  FILTER(?Position IN (dbpedia:Far-right_politics,dbpedia:Nazism, dbpedia:Nationalism)).
  FILTER(NOT EXISTS{?Party dbpprop:dissolved ?otherBalue}).
  FILTER(NOT EXISTS{?Party dbpprop:dissolution ?otherBalue}).
  FILTER(LANGMATCHES(LANG(?Lparty), "en")).
  ?Country dcterms:subject category:Member_states_of_the_European_Union;
       rdfs:label ?Lcountry.
  FILTER(LANGMATCHES(LANG(?Lcountry), "en")).
}