我有一个要编写的查询,看起来像这样...
PREFIX ma: <http://mydataset.com/ns/master#>
PREFIX ap: <http://mydataset.com/ns/appearances#>
SELECT DISTINCT ?masterID ?nameFirst ?nameLast
WHERE
{
ap:LAN ap:masterID ?masterID .
?masterID ma:nameLast ?nameLast .
?masterID ma:nameFirst ?nameFirst .
}
ORDER BY ?nameLast ?nameFirst
我对sparql和apache jena还是很陌生,所以请原谅我的幼稚,但我按如下所示设置了数据...
ap:LAN ap:masterID "aasedo01" .
ap:LAN ap:masterID "abreuto01" .
ap:ALT ap:masterID "berrych01" .
ap:ALT ap:masterID "brownji01" .
ap:ALT ap:masterID "carropa01" .
ap:ALT ap:masterID "connojo01" .
ap:ALT ap:masterID "crosscl01" .
...
ma:aasedo01 ma:nameFirst "Don" .
ma:aasedo01 ma:nameLast "Aase" .
ma:abadan01 ma:nameFirst "Andy" .
ma:abadan01 ma:nameLast "Abad" .
ma:abadfe01 ma:nameFirst "Fernando" .
ma:abadfe01 ma:nameLast "Abad" .
ma:abadijo01 ma:nameFirst "John" .
ma:abadijo01 ma:nameLast "Abadie" .
ma:abreuto01 ma:nameFirst "Tony" .
ma:abreuto01 ma:nameLast "Abreu" .
...
在我构建的第一组数据中,将其按团队ID分组,然后按与该团队关联的球员的ID分组。然后,我制作了另一组数据,以便它是与玩家的名字和姓氏相关联的玩家的ID。我想查询与团队LAN关联的所有球员的名字和姓氏。我觉得我很亲密,只是我不太了解如何加入他们,因为目前我什么也没回来。我上面的数据应该只返回两名球员Don Aase和Tony Abreu。
答案 0 :(得分:1)
感谢AKSW的解决方案是更改我的数据,使其不使用字符串文字,而是使用类似URI的... ap:LAN ap:masterID ma:aasedo01