RDF 쿼리 언어

RDF query language

RDF 쿼리 언어는 RDF(Resource Description Framework) 형식으로 저장된 데이터를 검색하고 조작할 수 있는 컴퓨터 언어, 특히 데이터베이스쿼리 언어다.

SPARQL은 표준 RDF 쿼리 언어로 부상했으며,[1] 2008년에는 W3C 권장 언어로 부상했다.[2][3]

언어 속성 쿼리

RDF 쿼리 언어 설계와 관련된 속성은 RDF 형식에 대한 지원을 포함한다.[4]

  • RDF 데이터 지원 - RDF 그래프를 구성하는 세 쌍의 모음입니다.
  • 참여를 허용하는 RDF 의미론 및 추론 지원, RDF 그래프의 의미에 대한 추론
  • XML 스키마와 같은 스키마 데이터 유형 지원

바람직한 언어 기능의 경우:

  • 표현력: 구성할 수 있는 쿼리 표현식의 힘
  • 폐쇄: RDF 그래프의 데이터 작업으로 인해 다른 RDF 그래프가 생성될 수 있음
  • Orthogonality: 데이터 연산은 사용되는 컨텍스트와 독립적이다.
  • 안전: 모든 표현은 유한한 결과 집합을 반환한다.

언어 패밀리 쿼리

RDF 쿼리 언어는 언어 패밀리로 그룹화할 수 있으며, 각 패밀리는 밀접하게 관련된 언어 집합으로 구성된다.[5]

SPARQL 언어군은 SquishQL, RDQL, SPARQL, TriQL을 포함한다.[5] 이들 언어는 RDF 데이터 저장소를 반드시 온톨로지나 스키마 정보가 연관되어 있지 않은 트리플 저장소로 취급한다. SPARQL 계열의 구성원은 관계형 또는 패턴 기반 연산을 가지고 있기 때문에 관계형 쿼리 언어로 간주된다.[6] SquishQL은 사용하기 쉽고 SQL과 구조가 비슷하도록 구성된 언어였다. RDF 데이터 질의 언어의 약자인 RDQL은 SquishQL의 추가 개발이었다. RDQL은 단순한 저수준 RDF 언어로서 한때 W3C 표준화 후보지였다.[7] SPARQL은 RDF 하위그래프의 추출을 지원하는 RDQL의 확장이다. 2008년에는 SPARQL 1.0이 W3C 추천이[8] 되었고, 2013년에는 SPARQL 1.1이 W3C 추천이 되었다.[9]

RQL 언어군은 RQL, SeRQL, eRQL을 포함한다.[5] 이러한 언어는 데이터와 스키마 모두의 쿼리를 지원한다. RDF 쿼리 언어의 약어인 RQL은 RDF 스키마(RDFS)에 정의된 유형을 사용하여 스키마 클래스 계층을 쿼리하고 유형별 데이터 쿼리를 지원하는 것으로 알려져 있다. RQL은 SPARQL 언어군에 비해 표현력이 뛰어나다고 여겨지지만, 너무 많은 특징과 특이한 구문 구조로 비판을 받아왔다. SeRQL과 eRQL은 RQL의 단순화된 대안으로 개발되었다.

XML 쿼리 기술에서 영감을 받은 RDF 쿼리 언어의 제품군이 있다.[5] RDF용 XQuery는 XML 쿼리 언어 XQuery를 사용하여 RDF를 XML 형식으로 직렬화한 다음 그 결과에 XQuery를 사용하여 RDF 데이터를 쿼리한다. 이를 "합성 웹 접근법"이라고 한다. TreeHugger와 RDF Tige는 XSLT를 사용하여 RDF 데이터를 쿼리한다. 반대로 4Suite는 XPath에서 영감을 얻은 질의어다.

다른 원리에 기반한 RDF 질의 언어가 존재한다.[5] 메탈로그는 질의와 추론을 결합하고 영어와 같은 구문을 가지고 있다. 녹조는 W3C가 개발한 조회 언어로, 행동이라고도 하며, 예를 들어 녹조 표현이 데이터 조회인지 데이터 업데이트인지를 결정하는 반응 규칙을 추가한다.[10]

RDF 쿼리 언어의 다른 예로는 RDFDBQL이 있다.[11]

선발하다         ?우리,?이름, ?lat, ?lon  로부터          <http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port>  어디에         (?city, <rdfs:fs>, ?이름),          (?city, <rdfs:fs>,?우리),         (?city, <pos:lat>, ?lat),          (?city, <pos:long>, ?lon)  사용.         rdfs. for   <http://www.w3.org/2000/01/rdf-schema#>,         양치류 for <http://www.w3.org/2003/01/geo/wgs84_pos#>,         노일공기 for <http://www.daml.org/2001/10/html/airport-ont#>,         전표를 끊기 for <http://www.w3.org/vcard-rdf/3.0#> 

관련 언어

RDF 데이터를 쿼리할 수 있는 기타 언어:

  • DQL, XML 기반, DAML+OIL로 표현된 쿼리 및 결과
  • XUL에는 RDF의 데이터 일치 규칙을 선언하는 템플릿 요소가 있다. XUL은 데이터 바인딩에 RDF를 광범위하게 사용한다.
  • 아데닌(RDF로 작성된 프로그래밍 언어).

XQuery 또는 XML Query는 XML 문서에 대한 표준 쿼리 언어다.[12]

Cyper Query Language, GraphQL, Gremlin과 같은 그래프 쿼리 언어그래프 데이터베이스를 쿼리하도록 설계되었으며, 이 중 RDF 데이터 저장소가 예시된다.[13]

Topic Map Query Language(TMQL)[14]주제 맵에 대한 쿼리 언어로서, RDF와 유사하지만 일반적인 데이터 표현이다.

참조

  1. ^ Bikakis, Nikos; Tsinaraki, Chrisa; Gioldasis, Nektarios; Stavrakantonakis, Ioannis; Christodoulakis, Stavros (1 January 2013). The XML and Semantic Web Worlds: Technologies, Interoperability and Integration: A Survey of the State of the Art. Semantic Hyper/Multimedia Adaptation. Studies in Computational Intelligence. Vol. 418. pp. 319–360. arXiv:1608.03556. doi:10.1007/978-3-642-28977-4_12. ISBN 978-3-642-28976-7. S2CID 6357481.
  2. ^ Prud'hommeaux, Eric; Seaborne, Andy (15 January 2008). "SPARQL Query Language for RDF". W3C. World Wide Web Consortium.
  3. ^ Herman, Ivan (15 January 2008). "SPARQL is a Recommendation". Semantic Web Activity News. World Wide Web Consortium.
  4. ^ Haase, Peter; Broekstra, Jeen; Eberhart, Andreas; Volz, Raphael (7 November 2004). A Comparison of RDF Query Languages. The Semantic Web – ISWC 2004. Lecture Notes in Computer Science. Vol. 3298. pp. 502–517. CiteSeerX 10.1.1.105.8731. doi:10.1007/978-3-540-30475-3_35. ISBN 978-3-540-23798-3.
  5. ^ a b c d e Bailey, James; Bry, François; Furche, Tim; Schaffert, Sebastian (1 January 2005). Web and Semantic Web Query Languages: A Survey. Proceedings of the First International Conference on Reasoning Web. pp. 35–133. doi:10.1007/11526988_3. ISBN 9783540278283. Retrieved 23 October 2016.
  6. ^ Furche, Tim; Linse, Benedikt; Bry, François; Plexousakis, Dimitris; Gottlob, Georg (1 January 2006). RDF Querying: Language Constructs and Evaluation Methods Compared. Reasoning Web. Lecture Notes in Computer Science. Vol. 4126. pp. 1–52. CiteSeerX 10.1.1.71.227. doi:10.1007/11837787_1. ISBN 978-3-540-38409-0.
  7. ^ "RDQL - A Query Language for RDF". www.w3.org. W3C. Retrieved 23 October 2016.
  8. ^ "SPARQL is a Recommendation Semantic Web Activity News". www.w3.org. Retrieved 23 October 2016.
  9. ^ "Eleven SPARQL 1.1 Specifications are W3C Recommendations Semantic Web Activity News". www.w3.org. Retrieved 23 October 2016.
  10. ^ Berstel, Bruno; Bonnard, Philippe; Bry, François; Eckert, Michael; Pătrânjan, Paula-Lavinia (1 January 2007). Reactive Rules on the Web. Reasoning Web. Lecture Notes in Computer Science. Vol. 4636. pp. 183–239. doi:10.1007/978-3-540-74615-7_3. ISBN 978-3-540-74613-3.
  11. ^ Fensel, Dieter; Sycara, Katia; Mylopoulus, John (2003). The Semantic Web - ISWC 2003. Springer. p. 89. ISBN 9783540203629. Retrieved 21 October 2016.
  12. ^ "XQuery 3.0: An XML Query Language". www.w3.org. W3C. Retrieved 23 October 2016.
  13. ^ Angles, Renzo; Gutierrez, Claudio (29 May 2005). Querying RDF Data from a Graph Database Perspective. The Semantic Web: Research and Applications. Lecture Notes in Computer Science. Vol. 3532. pp. 346–360. doi:10.1007/11431053_24. ISBN 978-3-540-26124-7.
  14. ^ "Topic Map Query Language (TMQL)". www.isotopicmaps.org. Retrieved 23 October 2016.

외부 링크