如何从 SPARQL 查询访问土地注册处住宅类型

2023-11-30

我正在尝试使用 SPARQL 查询从英国土地登记处检索住宅类型。

API 显示它被称为“属性类型”,并显示有四种类型:独立式、公寓式、半独立式、联排式。 API在这里:http://landregistry.data.gov.uk/def/common?_page=1.

查询是:

PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:     <http://www.w3.org/2002/07/owl#>
PREFIX lrppi:   <http://landregistry.data.gov.uk/def/ppi/>
PREFIX skos:    <http://www.w3.org/2004/02/skos/core#>
PREFIX lrcommon: <http://landregistry.data.gov.uk/def/common/>

SELECT ?propertytype ?paon ?saon ?street ?town ?county ?locality ?district ?postcode ?    amount ?date
WHERE
{    
SERVICE <http://landregistry.data.gov.uk/landregistry/sparql>
{ 
    ?transx  lrppi:pricePaid ?amount .
    ?transx   lrppi:transactionDate ?date .
    ?transx   lrppi:propertyAddress ?addr.

    ?addr lrcommon:district "MALVERN HILLS"^^xsd:string .

    OPTIONAL {?addr lrcommon:county ?county .}
    OPTIONAL {?addr lrcommon:paon ?paon .}
    OPTIONAL {?addr lrcommon:saon ?saon .}
    OPTIONAL {?addr lrcommon:street ?street .}
    OPTIONAL {?addr lrcommon:town ?town .}
    OPTIONAL {?addr lrcommon:locality ?locality .}
    OPTIONAL {?addr lrcommon:postcode  ?postcode .}
}
}
ORDER BY ?postcode ?amount
LIMIT 1000

这将检索我期望的数据(为了速度限制为 1000),但我想提取显示其是否为独立式、梯田式等的数据。

非常感谢任何帮助!


答案

你只需要添加三元组

?transx lrppi:propertyType ?propertytype .

您的查询。例如,这是一个基于您的查询:

PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:     <http://www.w3.org/2002/07/owl#>
PREFIX lrppi:   <http://landregistry.data.gov.uk/def/ppi/>
PREFIX skos:    <http://www.w3.org/2004/02/skos/core#>
PREFIX lrcommon: <http://landregistry.data.gov.uk/def/common/>

SELECT ?propertytype ?paon ?saon ?street ?town ?county ?locality ?district ?postcode ?amount ?date
WHERE {
    ?transx lrppi:pricePaid ?amount ;
            lrppi:transactionDate ?date ;
            lrppi:propertyAddress ?addr ;
            lrppi:propertyType ?propertytype .

    ?addr lrcommon:district "MALVERN HILLS"^^xsd:string .

    OPTIONAL {?addr lrcommon:county ?county .}
    OPTIONAL {?addr lrcommon:paon ?paon .}
    OPTIONAL {?addr lrcommon:saon ?saon .}
    OPTIONAL {?addr lrcommon:street ?street .}
    OPTIONAL {?addr lrcommon:town ?town .}
    OPTIONAL {?addr lrcommon:locality ?locality .}
    OPTIONAL {?addr lrcommon:postcode  ?postcode .}
}
ORDER BY ?postcode ?amount
LIMIT 10

您可以将其复制并粘贴到终点并得到结果。 (不幸的是,似乎没有办法直接链接到结果。)

寻找答案

我是这样的found该财产。这endpoint有一些示例查询,其中之一是“列出正在使用的 RDF 类型”:

PREFIX rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:     <http://www.w3.org/2000/01/rdf-schema#>

# Get labels for types used in the data.
SELECT  ?type ?name
WHERE {
    ?type rdfs:label ?name .
     FILTER EXISTS {  ?something rdf:type ?type . }
}

该查询的结果包括

---------------------------------------------------------------------------------------------------------------------------------------------
| type                                                                           | name                                                     |
=============================================================================================================================================
| <http://landregistry.data.gov.uk/def/common/PropertyTypeConcept>               | "Property type concept"@en                               |
---------------------------------------------------------------------------------------------------------------------------------------------

既然我们现在讨论类型<http://landregistry.data.gov.uk/def/common/PropertyTypeConcept>我们可以询问它的实例:

PREFIX rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:     <http://www.w3.org/2000/01/rdf-schema#>

SELECT  ?x 
WHERE { ?x a <http://landregistry.data.gov.uk/def/common/PropertyTypeConcept> }
LIMIT 10 

----------------------------------------------------------------
| x                                                            |
================================================================
| <http://landregistry.data.gov.uk/def/common/detached>        |
| <http://landregistry.data.gov.uk/def/common/semi-detached>   |
| <http://landregistry.data.gov.uk/def/common/flat-maisonette> |
| <http://landregistry.data.gov.uk/def/common/terraced>        |
----------------------------------------------------------------

现在我们可以看到什么与其中之一相关,以及通过哪些属性相关。例如

PREFIX rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:     <http://www.w3.org/2000/01/rdf-schema#>

SELECT  ?x ?y
WHERE { ?x ?y <http://landregistry.data.gov.uk/def/common/detached> }
LIMIT 10 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| x                                                                                                         | y                                                      |
======================================================================================================================================================================
| <http://landregistry.data.gov.uk/data/ppi/transaction/C7AE071D-242D-4825-9162-97BBF3B71840/2009-02-27233> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/D0CDBC03-5147-4D93-BCE5-176AF007E391/2009-02-10191> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/E37CAA33-CEF5-4162-8E07-918394B3C8AF/2009-02-00643> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/E37CAA33-CEF5-4162-8E07-918394B3C8AF/2009-03-32825> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/22276002-0030-4748-A7F6-C20F125DAC1C/2009-02-47264> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/FA525F65-CC8E-4617-A682-F8B267319445/2009-02-38989> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/3BFA438C-47AE-4B47-87AD-5DC365977619/2009-02-37729> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/A5BED22B-F54B-4459-9BF9-18920B8CDBAA/2009-02-21721> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/DDAAE7E0-B07F-49FF-AAB6-A2B96D8D4DE3/2009-02-11020> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
| <http://landregistry.data.gov.uk/data/ppi/transaction/5168D986-FAA2-42E8-B2C8-A04981C8BD0F/2009-02-09080> | <http://landregistry.data.gov.uk/def/ppi/propertyType> |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

我们看到我们想要的属性是<http://landregistry.data.gov.uk/def/ppi/propertyType>,可以缩短为lrppi:propertyType使用您定义的前缀。它似乎将交易与财产类型相关联,并且由于您查询中的交易是?transx, we add

?transx lrppi:propertyType ?propertyType
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 SPARQL 查询访问土地注册处住宅类型 的相关文章

随机推荐

  • 使用 __future__ 还是 future 来编写兼容 python2 和 python3 的代码更好?

    或者在某些特定情况下 其中一种比另一种更好 到目前为止 我所收集到的只是 future 仅适用于 gt 2 6 或 gt 3 3 我当前的代码非常基本 除了使用打印函数调用之外 在 python2 和 3 上运行相同 然而 随着时间的推移
  • Swift 中的宏?

    Swift 目前是否支持宏 或者未来是否计划添加支持 目前我正在分散 Log trace nil function FUNCTION file FILE line LINE 在我的代码的各个地方 在这种情况下 您应该为 宏 参数添加默认值
  • mvtnorm::pmvnorm 的 Rcpp 实现比原始 R 函数慢

    我正在尝试让 pmvnorm 的 Rcpp 版本至少与 R 中的 mvtnorm pmvnorm 一样快 我已经发现https github com zhanxw libMvtnorm并创建了一个带有相关源文件的Rcpp框架包 我添加了以下
  • 子元素点击事件触发父元素点击事件

    假设你有一些这样的代码 div div div div 我不想触发parentDiv当我点击时点击事件childDiv 我怎样才能做到这一点 Updated 另外 这两个事件的执行顺序是怎样的 你需要使用event stopPropagat
  • C strcpy = 未处理的异常:访问冲突写入位置 0x00000000

    我的 strcpy 函数有问题 使用C 这个简单代码 如下 的要点是将字符串从数组复制到指针数组 char string 20 ABCDEFGH 0 char array of pointers 20 now I want to copy
  • Python 中的列表

    python中的List是同质的还是异质的 gt gt gt def a pass gt gt gt lst 1 one 1 one a 1 1 1 True set 1 gt gt gt for each in lst print typ
  • 猫鼬重复键错误与 upsert

    我有重复密钥的问题 找了好久都找不到答案 请帮助我解决这个问题或解释为什么我收到重复的密钥错误 Trace MongoError E11000 duplicate key error collection project monitor i
  • 制作稀疏矩阵时出错

    我面临着一个我不明白的问题 这是建议答案的后续行动here and here 我有两个结构相同的数据集 我创建的一个是代码可以工作的可重现示例 另一个是代码不起作用的真实示例 盯着它几个小时后 我找不到导致错误的原因 下面给出了一个有效的例
  • 如何使用 MockMvc 测试 Spring 控制器方法?

    我正在使用 spring 3 2 0 和 junit 4 这是我需要测试的控制器方法 RequestMapping value Home public ModelAndView returnHome return new ModelAndV
  • 在 Matlab 中通过约束最大化 3x+y

    我需要在 matlab 中最大化方程 3x y 并具有以下约束 2x y 0 我很难弄清楚如何以一种可以将它们与原始方程联系起来的方式加入约束 我是 matlab 新手 很难弄清楚这一点 提前致谢 正如 Franck提到的 你可以一般使用f
  • Oracle 中的字符串聚合:多行合并为单列

    您好 我在 oracle 中有以下字符串聚合函数 CREATE OR REPLACE FUNCTION STRING AGGREGATE i query VARCHAR2 i seperator VARCHAR2 DEFAULT RETUR
  • 在 JavaScript 中将一个项目从一个数组添加到另一个数组之前比较两个数组[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有两个数组 var addFrom orange banana watermelon lemon peach var addTo pear tangerine grape or
  • C++ 类和相互链接的对象形成一个循环

    我怎样才能实现在C 中形成循环的互锁对象结构 class Foo Bar bar class Bar Foo foo Foo h include
  • 如何从 setTimeout 做出承诺

    这不是一个现实世界的问题 我只是想了解如何创建承诺 我需要了解如何对不返回任何内容的函数做出承诺 例如 setTimeout 假设我有 function async callback setTimeout function callback
  • ASP.NET Boilerplate (Core 2.0 + Angular 5) 免费模板中的 Promise 错误

    我一直在使用 ASP NET Boilerplate 通过使用自定义 API 的 REST API 客户端 如 Postman 对数据库进行 CRUD 操作 到目前为止 它运行得很好 但是当我继续到前端部分时 有未处理的异常使用管理员帐户登
  • SQL SERVER 2008 JOIN 提示

    最近 我正在尝试优化这个查询 UPDATE Analytics SET UserID x UserID FROM Analytics z INNER JOIN UserDetail x ON x UserGUID z UserGUID 估计
  • 在 Word 2010 标题中插入文本和字段而不使用 .Select

    我正在尝试修复 Word 2010 页面标题 其中包含文件名 保存日期和页码字段以及每个字段之间的一些文本 如下所示 文件名 保存日期 选项卡 页码 但是 我似乎无法将琴弦放在正确的位置 到目前为止我所拥有的是这样的 Sub CreateH
  • 限制每个节点的 Pod 数量

    我正在尝试限制集群中每个节点的 Pod 数量 我设法使用配置文件从 kubeadm init 添加每个节点的全局限制 apiVersion kubeadm k8s io v1beta1 kind ClusterConfiguration n
  • 旋转字典的值

    输入 34 apple 65 ball 32 cat 78 dog 输出 34 dog 65 apple 32 ball 78 cat 我提出了以下方法 但是有没有更快的方法来执行此任务 def rotate values my dict
  • 如何从 SPARQL 查询访问土地注册处住宅类型

    我正在尝试使用 SPARQL 查询从英国土地登记处检索住宅类型 API 显示它被称为 属性类型 并显示有四种类型 独立式 公寓式 半独立式 联排式 API在这里 http landregistry data gov uk def commo