Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 19. 22:33
자바에서 jena API를 통해 sparql query를 사용해 보겠습니다. 공식 홈페이지 튜토리얼 주소 : http://jena.apache.org/documentation/query/app_api.html ARQ - Application API 자바에서 스파클 관련 패키지는 com.hp.hpl.jena.query입니다. 다른 패키지도 있지만 일반적인 프로그램에서는 메인 패키지만 있어도 충분합니다. Key Classes Query - 쿼리문을 표현하는 클래스입니다. Query 클래스의 객체는 QueryFactory 메소드를 통해 만들어집니다.QueryExecution - 쿼리의 실행을 표현합니다.QueryExcutionFactory - QuertyExecution 객체를 얻기위한 클래스입니다.Datas..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 18. 21:29
SPARQL Tutorial - Optional Information RDF는 semi-structured 데이터라서 스파클의 질의기능으로 값이 없는 부분을 검색했을때 공백으로 나오게 하는 기능을 설명하는 것 같습니다. vc-db-2.rdf파일에 나이가 추가되었다고 했는데 4명중에 2명만 age 속성이 추가되었고 나머지 2명은 age속성이 없습니다. 이때 쿼리문으로 전체 사람의 정보를 불러온다면 어떻게 될까요? PREFIX info: PREFIX vcard: SELECT ?name ?age WHERE { ?person vcard:FN ?name . OPTIONAL { ?person info:age ?age } } 위와 같은 쿼리를 실행합니다 . 찾는 값은 ?name과 ?age입니다. 조건절을 보면 nam..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 18. 19:09
공식 홈페이지 메뉴얼 URL = http://jena.apache.org/tutorials/sparql_filters.html SPARQL Tutorial - Filters 이번 장에서는 결과값들을 어떻게 제한하는지에 대해 알아봅니다. 여러 가지 다양한 방법으로 비교할 수 있지만 두 가지만 설명합니다. String Matching 스파클은 정해진 표현에 기반을 둔 문자열을 테스트할 수 있는 연산자를 제공합니다. SQL에서 "LIKE"와 같은 형식으로 사용됩니다. 사용법은 다음과 같습니다. FILTER regex(?x, "pattern" [, "flags"]) 위와 같은 문법을 사용하면 ?x라는 리소스에 "pattern"이라는 문자열이 있는 것만 찾아냅니다. "flags"는 옵션으로 사용되는데 "i"값이 ..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 18. 18:28
SPARQL Tutorial - Basic Patterns 이번 챕터에서는 스파클 쿼리를 구성하고있는 기본적인 요소에 대해 알아봅니다. Solutions 이전 시간에는 ?x 라는 변수를 사용하여 "John Smith"를 FN값으로 갖는 리소스를 검색했습니다. 이번에는 단순 URI정보만 가져오는 리소스 말고 좀 더 원하는 값을 가져오도록 쿼리문을 만들어 봅시다. 솔직히 기본 URI만 검색하면 그다지 쓸 일이 없을 것 같습니다. 실질적으로 검색하고자 하는 것은 누군가의 이름이나 그에 해당하는 "값"이 필요하지요. 다음 쿼리문을 봅시다. SELECT ?x ?fname WHERE {?x ?fname} 지난 시간에 SELECT에는 subject만 들어간다고 설명했는데 아니었나 봅니다. 그때는 ?x만 사용되어서 s..
Study/OWL,RDF 마이쮸(mychew__) 2014. 2. 18. 17:03
공식 메뉴얼 주소 = http://jena.apache.org/tutorials/sparql_query1.html SPARQL Tutorial - A First SPARQL Query 간단한 예제 쿼리를 실행해보고 jena에서 어떻게 실행되는지 살펴본다. A "hello world" of queries SELECT ?x WHERE { ?x "John Smith" } 예제 쿼리는 위와 같습니다. SQL쿼리와 비교했을때 뭔가 비슷하지만 조금 다릅니다. 검색하려는 것은 변수 ?x입니다. ?는 변수라는 뜻으로 사용됩니다. x를 찾는데 x는 과 "John Smith"과 연관이 있어야 하나봅니다. 아직 어떤 뜻인지는 구체적으로 알지 못하겠습니다. 위 쿼리를 실행하면 다음과 같은 결과가 나옵니다. | x | ====..