SPARQL로 현명, 시명, 이니셜 순위를 매겼어요.

19568 단어 SPARQL
현명 시명 이니셜 표기 중 가장 익명성이 높은 곳은 S현 K시였다.의 계발 아래 나는 녹슨 곳에 SPARQL을 써 보았다.

메서드


통계청통계 LOD은 SPARQL Endpoint를 통해도도부현 시내 마을 코드 정보 제공됩니다.코드 정보뿐만 아니라 영문 이름도 제공했는데 SPARQL을 정확히 쓰면 S현 K시와 같은 목록과 건수를 얻을 수 있다.
표시https://data.e-stat.go.jp/lod/sparql/ 후 아래 SPARQL 실행 창이 표시되며, 여기에서 만든 SPARQL 조회를 붙여넣기&검색하여 결과를 얻을 수 있습니다.

SPARQL


다음 SPARQL을 사용하여 원활하게 진행했습니다.
initial.rq
PREFIX sacs: <http://data.e-stat.go.jp/lod/terms/sacs#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?result (count(?result) as ?count) WHERE {
  ?a owl:sameAs ?b .
  ?b sacs:administrativeClass ?clazz ; rdfs:label ?name_en ; rdfs:label ?name_ja .
  ?c sacs:administrativeClass sacs:Prefecture ; rdfs:label ?pref_en ; rdfs:label ?pref_ja ;dcterms:hasPart ?b .
  FILTER (
    ?clazz in (sacs:City, sacs:DesignatedCity, sacs:CoreCity, sacs:SpecialCity) &&
    lang(?pref_en) = "en" && lang(?pref_ja) = "ja" &&
    lang(?name_en) = "en" && lang(?name_ja) = "ja"
  )
  BIND ( CONCAT(SUBSTR(?pref_en,1,1),SUBSTR(?pref_ja,STRLEN(?pref_ja)),SUBSTR(?name_en,1,1),SUBSTR(?name_ja,STRLEN(?name_ja))) AS ?result)
} GROUP BY ?result ORDER BY DESC(count(?result))

결실


이렇게 출력합니다.S현 K시는 원래 보도대로 18건이나 되는 것 같은데.
모든 결과는 여기.에 발표될 것이다.
20170622-sparql-result.json
{
  "head": {
    "vars": [ "result" , "count" ]
  } ,
  "results": {
    "bindings": [
      {
        "result": { "type": "literal" , "value": "S県K市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "18" }
      } ,
      {
        "result": { "type": "literal" , "value": "K県K市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "13" }
      } ,
      {
        "result": { "type": "literal" , "value": "I県K市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "13" }
      } ,
      {
        "result": { "type": "literal" , "value": "S県S市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "12" }
      } ,
      {
        "result": { "type": "literal" , "value": "N県S市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "11" }
      } ,
      {
        "result": { "type": "literal" , "value": "A県T市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "11" }
      } ,
      {
        "result": { "type": "literal" , "value": "A県K市" } ,
        "count": { "datatype": "http://www.w3.org/2001/XMLSchema#decimal" , "type": "typed-literal" , "value": "10" }
      } ...
    ]
  }
}

총결산


먼저 원하는 결과를 얻었지만 조회 결과가 돌아올 때까지 수십 초가 걸린다.그리고 SPARQL은 오랫동안 쓰지 않아서 뇌가 저려요.

좋은 웹페이지 즐겨찾기