e-statの研究 その2

#概要

官製lod、e-statを研究してみる。
動く、sparql集めてみた。

#動くsparql

```
SELECT ?subject ?predicate ?object
WHERE {
	?subject ?predicate ?object
}
LIMIT 25
```
	
```
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX org:<http://www.w3.org/ns/org#>
PREFIX dcterms:<http://purl.org/dc/terms/>
select *
where {
	?s rdfs:label "川越市"@ja ;
	 org:resultedFrom / dcterms:description ?rfc .
	FILTER(LANG(?rfc)='ja')
}
ORDER BY DESC(?s)
```

新宿区の日本人の人口を求める
新宿区の日本人の人口を求めるクエリーです

```
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX estat-measure: <http://data.e-stat.go.jp/lod/ontology/measure/>
PREFIX cd-dimension: <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/>
PREFIX cd-code: <http://data.e-stat.go.jp/lod/ontology/crossDomain/code/>
PREFIX g00200521-dimension-2010:<http://data.e-stat.go.jp/lod/ontology/g00200521/dimension/2010/>
PREFIX g00200521-code-2010:<http://data.e-stat.go.jp/lod/ontology/g00200521/code/2010/>
select	?year ?population
where {
	?s estat-measure:population ?population ;
	 sdmx-dimension:refArea / rdfs:label "新宿区"@ja ;
	 cd-dimension:timePeriod ?year ;
	 cd-dimension:sex cd-code:sex-all ;
	 cd-dimension:nationality cd-code:nationality-japan ;
	 g00200521-dimension-2010:area g00200521-code-2010:area-all ;
	 cd-dimension:age cd-code:age-all .
}
```

国勢調査の人口に係る統計表で公開している年を調べる
国勢調査の人口に係る統計表（データセットd0003041389）で公開している年を取得するクエリーです

```
PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX cd-dimension: <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/>
select distinct ?year
where {
	?s qb:dataSet <http://data.e-stat.go.jp/lod/dataset/g00200521/d0003041389> ;
	 cd-dimension:timePeriod ?year .
}
```

データセットd0003041389の構造（測度、次元、属性）を調べる
データセットd0003041389の構造（測度、次元、属性）を取得するクエリーです

```
PREFIX qb:<http://purl.org/linked-data/cube#>
select distinct ?s
where {
	<http://data.e-stat.go.jp/lod/dataset/g00200521/d0003041389/dsd> qb:component ?y .
	{?y qb:dimension ?s .}
	UNION
		{?y qb:measure ?s .}
	UNION
		{?y qb:attribute ?s .}
}
``` 

緯度経度を指定して該当する小地域を調べる
東経139.48度、北緯35.92度の地点を含む小地域を取得するクエリーです

```
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms:<http://purl.org/dc/terms/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
select ?municipality ?area
where {
	?s <http://www.opengis.net/ont/geosparql#hasGeometry> ?polygon ;
	 rdfs:label ?area ;
	 dcterms:isPartOf / rdfs:label ?municipality .
	?polygon geo:asWKT ?geom .
	FILTER (ogcf:sfContains(?geom, "POINT(139.48 35.92)"^^geo:wktLiteral)) .
	FILTER (LANG(?municipality)='ja') .
}
```

2015年6月の消費者物価指数を調べる

```
select	?cpi	
where {
	 ?s <http://data.e-stat.go.jp/lod/ontology/measure/index> ?cpi ; 
	<http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/timePeriod> "2015-06"^^<http://www.w3.org/2001/XMLSchema#gYearMonth> . 
}
```


```
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX estat-measure: <http://data.e-stat.go.jp/lod/ontology/measure/>
PREFIX cd-dimension: <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/>
PREFIX cd-code: <http://data.e-stat.go.jp/lod/ontology/crossDomain/code/>
PREFIX g00200521-dimension-2010:<http://data.e-stat.go.jp/lod/ontology/g00200521/dimension/2010/>
PREFIX g00200521-code-2010:<http://data.e-stat.go.jp/lod/ontology/g00200521/code/2010/>
PREFIX sacs: <http://data.e-stat.go.jp/lod/terms/sacs#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select ?pref ?year ?population
where {
	?s estat-measure:population ?population ;
	sdmx-dimension:refArea ?area;
	cd-dimension:timePeriod ?year ;
	cd-dimension:sex cd-code:sex-all ;
	cd-dimension:nationality cd-code:nationality-japan ;
	g00200521-dimension-2010:area g00200521-code-2010:area-all ;
	cd-dimension:age cd-code:age-all .
	?area sacs:administrativeClass sacs:Prefecture;
	rdfs:label ?pref.
	FILTER (lang(?pref) = 'ja').
}

```

```
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ic: <http://imi.go.jp/ns/core/rdf#>
prefix sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
prefix estat-measure: <http://data.e-stat.go.jp/lod/ontology/measure/>
prefix cd-dimension: <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/>
PREFIX qb: <http://purl.org/linked-data/cube#>
select ?s ?wkt ?label ?parent where {
	?s a <http://data.e-stat.go.jp/lod/terms/smallArea/SmallAreaCode> ; geo:hasGeometry/geo:asWKT ?wkt ; rdfs:label ?label ; dcterms:isPartOf ?parent.
	filter strstarts(str(?s),"http://data.e-stat.go.jp/lod/smallArea/g00200521/2015/S${code}") .
}
```

geo search

```
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX ogcf: <http://www.opengis.net/def/function/geosparql/>
PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT DISTINCT ?area ?areaName ?areaType ?areaId ?areaWKT
WHERE { 
	?area geo:hasGeometry / geo:asWKT ?areaWKT ;
	a ?areaType ;
	dcterms:identifier ?areaId ;
	rdfs:label ?areaName .
	FILTER (ogcf:sfContains(?areaWKT, 'Point(140.14928597893703 37.90953361677018)'^^geo:wktLiteral))
} 
LIMIT 100
```

山形県の総人口

```
PREFIX sdmx-measure: <http://purl.org/linked-data/sdmx/2009/measure#>
PREFIX sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX cd-dimension: <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/>
PREFIX cd-code: <http://data.e-stat.go.jp/lod/ontology/crossDomain/code/>
PREFIX g00200502-dimension:<http://data.e-stat.go.jp/lod/ontology/g00200502/dimension/>
PREFIX g00200502-code:<http://data.e-stat.go.jp/lod/ontology/g00200502/code/>
PREFIX estat-attribute: <http://data.e-stat.go.jp/lod/ontology/attribute/> 
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

select * 
where { 
     ?s sdmx-measure:obsValue ?o;
        sdmx-dimension:refArea / dcterms:identifier '06000';
        g00200502-dimension:indicator g00200502-code:indicator-A1101;
        cd-dimension:timePeriod ?time ;
        estat-attribute:unitMult / rdfs:label ?unitMult ;
        estat-attribute:unitMult / dcterms:identifier ?unitIdent ;
        FILTER (lang(?unitMult) = 'ja')  .
} 
ORDER BY DESC (?time)
limit 1
```

以上。