sparql学习sparql示例、dbpedia在线验证
sparql学习sparql示例、dbpedia在线验证
导言
作为sparql群的群主,自己也不太懂sparql,竟然意外接到了一份作业。好久没有接活了。主要就是复习了一下各个语言怎么写。记录一下,供大家学习
所有的语句可以在wiki网站的dbpedia在线查询网站在线测试。
select
select的第1个
问题:中国的首都是什么?
select distinct ?c where
{
<http://dbpedia.org/resource/China> <http://dbpedia.org/property/capital> ?c
}
select的第2个
问题:韩国比较大的城市有哪些?
select distinct ?c where
{
<http://dbpedia.org/resource/Korea> <http://dbpedia.org/property/largestCity> ?c
}
ask
ask第1个
问题:北京人口是否超过了1千万?
prefix xsdt: <http://www.w3.org/2001/XMLSchema#>
ask where
{
<http://dbpedia.org/resource/Beijing> <http://dbpedia.org/property/populationTotal> ?total.
filter(?total >"10000000"^^xsdt:integer )
}
ask第2个
问题:姚明是90后吗?
prefix xsdt: <http://www.w3.org/2001/XMLSchema#>
ask where
{
<http://dbpedia.org/resource/Yao_Ming> <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date>"1990-01-01"^^xsdt:date )
}
describe
- 第1个describe
(说明:The DESCRIBE query result clause allows the server to return whatever RDF it wants that describes the given resource(s).) 问题:返回“哈希表”这个实体的所有内容
describe ?a
{?a <http://www.w3.org/2000/01/rdf-schema#label> "哈希表"@zh}
- describe第2个 问题:返回“数据结构”类别下的所有实体内容
describe ?a
{?a <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:Data_structures>}
filte
filter的第1个
问题:请随意列举出生在中国的20个人
select distinct ?name where
{
?a <http://www.w3.org/2000/01/rdf-schema#label> ?name.
?a <http://dbpedia.org/property/birthPlace> ?country.
filter regex(str(?country), "China")
}limit 20
filter第2个
问题:2008年之后的美国灾难电影有哪些?
PREFIX dbpprop:<http://dbpedia.org/property/>
prefix xsdt: <http://www.w3.org/2001/XMLSchema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX category: <http://dbpedia.org/resource/Category:>
SELECT ?filmname {
?film dcterms:subject category:American_disaster_films.
?film dbpprop:name ?filmname.
?film dbpprop:released ?date.
FILTER (?date > "2008-01-01T00:00:00"^^xsdt:dateTime)
}
filter第3个
问题:名字中包含’Republic’的且在1920年之前成立的国家有哪些?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?lbl ?est
WHERE {
?country rdfs:label ?lbl .
FILTER(bif:contains(?lbl, "Republic")) .
?country prop:establishedDate ?est .
FILTER(?est < "1920-01-01"^^xsd:date) .
}
filter第4个
问题:1990到1993年出生的NBA球员有哪些有哪些?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date>"1990-01-01"^^xsd:date &&
?date<"1993-01-01"^^xsd:date )
}
bound
bound的第1个
问题:1970年前出生的NBA球员中,没有上过大学的人有谁?(这个问题和下一个问题形成对比)
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT distinct ?name ?college
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date<"1970-01-01"^^xsd:date )
optional
{
?a <http://dbpedia.org/ontology/college> ?college
}
filter(!bound(?college))
}
bound的第2个
问题:1970年前出生的NBA球员中,上过大学的人有谁?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT distinct ?name ?college
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date<"1970-01-01"^^xsd:date )
optional
{
?a <http://dbpedia.org/ontology/college> ?college
}
filter(bound(?college))
}
not exists
not exists的第1个
问题:NBA球员中,法国出生但是不在法国的“Saint”城市出生的人有谁?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?country
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/property/birthPlace> ?country.
filter regex(str(?country), "France")
filter not exists{
{
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/property/birthPlace> ?country.
filter regex(str(?country), "Saint")
}
}
}
not exists的第2个
问题:出生在西安的名人有哪些?但是这些人不在1970年后出生的人当中
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/birthPlace> <http://dbpedia.org/resource/Xi'an>.
filter not exists{
?a <http://dbpedia.org/ontology/birthYear> ?date.
filter(?date>"1970-01-01"^^xsd:date )
}
}
in
in第一个(in是限制条件,a in(a,b,c,d)表示返回成功,e in(a,b,c,d)返回失败 )
问题:北京的城市人口和总人口是多少?(没有这项指标则忽略)
SELECT ?b ?number
WHERE
{
<http://dbpedia.org/resource/Beijing> ?b ?number.
filter( ?b in(<http://dbpedia.org/property/populationUrban>,<http://dbpedia.org/property/populationTotal>) )
}
in第一个(in是限制条件,a in(a,b,c,d)表示返回成功,e in(a,b,c,d)返回失败)
问题:姚明的出生日期和死亡日期是什么时候?如果有数据才返回结果,没有就忽略。
SELECT ?b ?date
WHERE
{
<http://dbpedia.org/resource/Yao_Ming> ?b ?date.
filter( ?b in(<http://dbpedia.org/ontology/birthDate>,<http://dbpedia.org/ontology/deathDate>) )
}
regex
regex的第1个
问题:NBA球员中,法国出生的有谁?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?country
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/property/birthPlace> ?country.
filter regex(str(?country), "France")
}
regex的第2个
问题:NBA球员中,名字中有“Jason”的人都有谁?
minus
minus(主要就是排除功能)的第1个
问题:美国浪漫主义电影里,除去2000年以前的电影,还剩下什么电影?
PREFIX dbpprop:<http://dbpedia.org/property/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX category: <http://dbpedia.org/resource/Category:>
SELECT ?filmname{
?film dcterms:subject category:Romantic_epic_films.
?film dbpprop:name ?filmname.
MINUS{?film dbpprop:released ?date.
FILTER (?date < 2000 )}
}
minus(主要就是排除功能)的第2个
问题:NBA队员里,除去出生在美国的,还有哪些人?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
minus{
?a <http://dbpedia.org/property/birthPlace> ?country.
filter regex(str(?country), "American")
}
}
union
union(主要进行合并操作)第1个
问题:中国和韩国的领导人有哪些?
SELECT ?people
where{
{
<http://dbpedia.org/resource/China> <http://dbpedia.org/ontology/leader> ?people.
}
union
{
<http://dbpedia.org/resource/Korea> <http://dbpedia.org/property/leaderName> ?people.
}
}
union(主要进行合并操作)第2个
问题:浪漫主义电影和美国灾难片这两种类型的电影有哪些?
PREFIX dbpprop:<http://dbpedia.org/property/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX category: <http://dbpedia.org/resource/Category:>
SELECT ?filmname{
{
?film dcterms:subject category:Romantic_epic_films.
?film dbpprop:name ?filmname.
}
union{
?film dcterms:subject category:American_disaster_films.
?film dbpprop:name ?filmname.
}
}
optional
optional 第1个
问题:NBA球员中,出生在1950年以前的人的名字叫什么,如果数据库中有出生地点,也列举出来,没有的话就不用管(备注:其实这也是optional的作用)
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT distinct ?name ?birthPlace
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date<"1950-01-01"^^xsd:date )
optional {
?a <http://dbpedia.org/property/birthPlace> ?birthPlace
}
}
optional 第2个
问题:NBA球员中,出生在1970年以前的人的名字叫什么,如果上过大学,请列出大学。(结果中看到有部分人没有大学信息)
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT distinct ?name ?college
WHERE {
?a <http://dbpedia.org/property/name> ?name.
?a <http://dbpedia.org/property/league> <http://dbpedia.org/resource/National_Basketball_Association>.
?a <http://dbpedia.org/ontology/birthDate> ?date.
filter(?date<"1970-01-01"^^xsd:date )
optional {
?a <http://dbpedia.org/ontology/college> ?college
}
}
sparql学习sparql示例、dbpedia在线验证的更多相关文章
- WebGPU学习(六):学习“rotatingCube”示例
大家好,本文学习Chrome->webgpu-samplers->rotatingCube示例. 上一篇博文: WebGPU学习(五): 现代图形API技术要点和WebGPU支持情况调研 ...
- Java虚拟机JVM学习03 连接过程:验证、准备、解析
Java虚拟机JVM学习03 连接过程:验证.准备.解析 类被加载后,就进入连接阶段. 连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去. 连接阶段三个步骤:验证.准备和解析. 类 ...
- Oracle TDE的数据加密示例并用logminer验证加密效果
1.确认数据库版本 2创建密钥钱包 3创建加密列的表并初始值 4演示TDE的数据加密示例 5 logminer验证加密效果
- ROS_Kinetic_29 kamtoa simulation学习与示例分析(一)
致谢源代码网址:https://github.com/Tutorgaming/kamtoa-simulation kamtoa simulation学习与示例分析(一) 源码学习与分析是学习ROS,包 ...
- bootstrap源码学习与示例:bootstrap-tab
http://www.cnblogs.com/rubylouvre/archive/2012/12/22/2829176.html bootstrap源码学习与示例 https://www.w3sc ...
- activiti学习2:示例工程activiti-explorer.war的使用
目录 activiti学习2:示例工程activiti-explorer.war的使用 一.搭建开发环境 二.运行示例工程 三.示例工程功能演示 1. 创建流程图 2. 部署流程图 3. 启动流程 4 ...
- (5.10)mysql高可用系列——percona-toolkit工具下的pt-table-checksum 在线验证主从一致性【续写中】
关键词:percona-toolkit 工具包中包含 pt-table-checksum工具,在线验证主从一致性 [1]percona-toolkit 工具包 [1.1]percona-toolkit ...
- WebGPU学习(八):学习“texturedCube”示例
大家好,本文学习Chrome->webgpu-samplers->texturedCube示例. 上一篇博文: WebGPU学习(七):学习"twoCubes"和&qu ...
- WebGPU学习(九):学习“fractalCube”示例
大家好,本文学习Chrome->webgpu-samplers->fractalCube示例. 上一篇博文: WebGPU学习(八):学习"texturedCube"示 ...
随机推荐
- [CSP-S模拟测试]:biology(DP)
题目传送门(内部题23) 输入格式 第一行有$2$个整数$n,m$.接下来有$n$行,每行$m$个整数,表示$a$数组.接下来有$n$行,每行$m$个整数,表示$b$数组. 输出格式 一行一个整数表示 ...
- 转载:IDEA lombok插件的安装和使用
转载自:https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html lombok插件的安装 1 首先我们需要安装IntelliJ ...
- Golang操作MySQL的正确姿势
封装原因: 查看了很多网上提供的ORM类型的数据库操作,觉得比较麻烦,需要提前配置很多的表结构体,然后才能使用,对于数据表很多的项目就配置起来就比较麻烦,所以对golang的mysql包进行了外层包装 ...
- MySQL复制表结构和内容到另一个表中
一:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)1.复制表结构到新表CREATE TABLE 新表LIKE 旧表 2.复制旧表的数据到新表(假设两个表结构一样) ...
- 【转】 Linux 命令解释(Linux基础二)
前言 对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务.开放更多的端口,这对服务器的稳定性和安全性都有负面影响.其实,服务器是一个连显示器都没有的家伙,要图形界面干十么? 说到这里,有 ...
- 112、TensorFlow初始化变量
# 创建一个变量 # 最简单创建一个变量的方法就是调用 tf.get_variable function import tensorflow as tf # 下面创建了一个三维的张量大小是 [1,2, ...
- spring4.1.8扩展实战之二:Aware接口揭秘
Aware.java是个没有定义任何方法的接口,拥有众多子接口,在spring源码中有多处都在使用这些子接口完成各种场景下的回调操作,当业务有需要时,我们只需创建类来实现相关接口,再声明为bean,就 ...
- Java学习之线程通信(多线程(Lock))--生产者消费者
SDK1.5版本以后对synchronized的升级,其思想是:将同步和锁封装成对象,其对象中包含操作锁的动作. 代码: //1.导入包 import java.util.concurrent.loc ...
- Asp.Net Core 第03局:Startup
总目录 前言 本文介绍Startup,它主要用于配置应用使用的服务和应用的请求管道. 环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 开局 第一手:Startup ...
- Charles重发请求
1.如下图 2.选中某个接口,右键--选择 Repeat Advanced选项,设置请求多次 3.