"2019 sparql"의 두 판 사이의 차이

DH 교육용 위키
이동: 둘러보기, 검색
(기본 형태)
(기본 형태)
56번째 줄: 56번째 줄:
 
  } limit 50  
 
  } limit 50  
  
==
+
==Order By / Limit ===
 +
*Order by : 정렬 / Limit : 값의 갯수 제한
 +
*<span style="color:DarkCyan"> order by를 쓴 후 limit를 써야 함.</span>
 +
SELECT ?x ?title
 +
WHERE {?x rdfs:label ?title}
 +
ORDER BY desc(?title)
 +
LIMIT 100

2019년 2월 20일 (수) 20:49 판

Linked Open Data

  • 참고자료 : 알기 쉬운 Linked Open Data - 한국정보화진흥원
  • Linked Open Data = Linked Data + Open Data
    1. Linked Data : html, RDFS와 같은 웹 표준 기술을 이용하여, 서로 연결될 수 있는 데이터
    2. Open Data : 누구나 이용할 수 있는 개방된 데이터

Linked Open Data의 구축 원칙

  • Linked Open Data의 구현 환경 : 시맨틱 웹(인터넷) 환경
    1. URL(웹 주소)를 id(식별자)로 사용
  • Linked Open Data의 표현방식 : RDF(주어-서술어-목적어)

SPARQL

  • Simple Protocol and RDF Query Language
  • RDF 형태의 웹데이터 사용을 위한 검색(질의) 언어

SPARQL 문법

(prefix)
 SELCET 변수 WHERE { 조건 }

Prefix

검색에서 사용할 온톨로지의 축약형태를 명시해주는 부분.

PREFIX ekc: <http://dh.aks.ac.kr/ontologies/ekc#>
PREFIX ekci: <http://dh.aks.ac.kr/iri/ekc#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX xml: <http://www.w3.org/XML/1998/namespace>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
PREFIX dc: <http://purl.org/dc/elements/1.1#>
PREFIX edm: <http://www.europeana.eu/schemas/edm#>

prefix를 사용하지 않고 url주소 전체를 이용해 검색하는 것도 가능.

dc:creator ->  <http://purl.org/dc/elements/1.1#creator>

기본 형태

SELECT ?A(변수) ?B(변수)
WHERE
{ ?A(변수) Prefix:relation ?B(변수) .
}
  • ? : 변수의 앞에 붙임.(변수임을 표시)
  • ; : 특정 변수에 조건을 추가할 때 (and)
  • . : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할 때(end)
  • # : comment (주석)

실습 - 국가서지 lod <책과 책의 이름, 글쓴이>

prefix dcterms: <http://purl.org/dc/terms/>
prefix dc: <http://purl.org/dc/elements/1.1/>
select ?book  ?bookTitle ?creator where {
?book  dcterms:title ?bookTitle.
?book dc:creator ?creator.
} limit 50 

Order By / Limit =

  • Order by : 정렬 / Limit : 값의 갯수 제한
  • order by를 쓴 후 limit를 써야 함.
SELECT ?x ?title
WHERE {?x rdfs:label ?title} 
ORDER BY desc(?title) 
LIMIT 100