我想在基于 Lahman Baseball 数据库的 sparql 中执行 select 查询和两个数据集的连接
I want to do a select query and a join with two datasets in sparql based ont the Lahman Baseball database
我有一个查询要写,看起来像这样...
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 关联的所有玩家的名字和姓氏。我觉得我很接近我只是不太明白如何加入他们,因为目前我什么也得不到。我上面的数据应该 return 两名球员 Don Aase 和 Tony Abreu。
感谢 AKSW 的解决方案是更改我的数据,以便它不使用字符串文字而是使用像这样的 URI... ap:LAN ap:masterID ma:aasedo01
我有一个查询要写,看起来像这样...
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 关联的所有玩家的名字和姓氏。我觉得我很接近我只是不太明白如何加入他们,因为目前我什么也得不到。我上面的数据应该 return 两名球员 Don Aase 和 Tony Abreu。
感谢 AKSW 的解决方案是更改我的数据,以便它不使用字符串文字而是使用像这样的 URI... ap:LAN ap:masterID ma:aasedo01