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. 19. 17:16
SPARQL Tutorial - Alternatives in a Pattern 이번 챕터에서는 "UNION"이라는 쿼리문을 사용하는 법을 알려준다. UNION - two ways to the same data 이번에 예제로 사용하게 될 모델은 RDF형식이 아니다. 확장자가 ttl인 것으로 보아 이전에 언급했던 터틀형식의 문서입니다. @prefix foaf: . @prefix vcard: . _:a foaf:name "Matt Jones" . _:b foaf:name "Sarah Jones" . _:c vcard:FN "Becky Smith" . _:d vcard:FN "John Smith" . 이번 모델에서는 이름을 표기할 때 foaf와 vcard라는 두 가지의 NS를 사용하였습니다. 하지만 결론적으로 ..
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. 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 | ====..