繁体   English   中英

我想基于Lahman Baseball数据库进行sparql中的两个数据集进行选择查询和联接

[英]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关联的所有球员的名字和姓氏。 我觉得我很亲密,只是我不太了解如何加入他们,因为目前我什么也没回来。 我上面的数据应该只返回两名球员Don Aase和Tony Abreu。

感谢AKSW的解决方案是更改我的数据,以便它不使用字符串文字,而是使用类似URI的... ap:LAN ap:masterID ma:aasedo01

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM