您好我正在使用http://landregistry.data.gov.uk/app/qonsole
中的SPARQL查询但我也希望找出属性类型(例如半独立式,分离式等),如果是新建或不属于房产类型(例如永久业权或租赁权)。
我正在使用的SPARQL查询是
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 xsd: <http://www.w3.org/2001/XMLSchema#>
prefix sr: <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/>
prefix ukhpi: <http://landregistry.data.gov.uk/def/ukhpi/>
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/>
# Returns the Price Paid data from the default graph for each transaction record having
# an address with the given postcode.
# The postcode to query is set using SPARQL 1.1's 'values' clause
SELECT ?paon ?saon ?street ?town ?county ?postcode ?amount ?date ?category
WHERE
{
VALUES ?postcode {"PL6 8RU"^^xsd:string}
?addr lrcommon:postcode ?postcode.
?transx lrppi:propertyAddress ?addr ;
lrppi:pricePaid ?amount ;
lrppi:transactionDate ?date ;
lrppi:transactionCategory/skos:prefLabel ?category.
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}
}
ORDER BY ?amount
任何帮助将不胜感激!
谢谢
答案 0 :(得分:2)
要获取所有可用属性,可以使用以下查询:
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix lrppi: <http://landregistry.data.gov.uk/def/ppi/>
prefix lrcommon: <http://landregistry.data.gov.uk/def/common/>
SELECT DISTINCT ?p
WHERE
{
VALUES ?postcode {"PL6 8RU"^^xsd:string}
?transx lrppi:propertyAddress/lrcommon:postcode ?postcode ;
?p ?o
}
其中,它显示了相应的属性lrppi:estateType
和lrppi:propertyType
。构建最终查询非常简单,只需使用这些属性添加三元模式并选择变量:
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
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/>
# Returns the Price Paid data from the default graph for each transaction record having
# an address with the given postcode.
# The postcode to query is set using SPARQL 1.1's 'values' clause
SELECT ?paon ?saon ?street ?town ?county ?postcode ?amount ?date ?category ?estateType ?propertyType
WHERE
{
VALUES ?postcode {"PL6 8RU"^^xsd:string}
?addr lrcommon:postcode ?postcode.
?transx lrppi:propertyAddress ?addr ;
lrppi:pricePaid ?amount ;
lrppi:transactionDate ?date ;
lrppi:estateType ?estateType ;
lrppi:propertyType ?propertyType ;
lrppi:transactionCategory/skos:prefLabel ?category.
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}
}
ORDER BY ?amount