프로그램 분석을 통한 RDF 질의 최적화 기법

RDF Query Optimization Technique based on Program Analysis

  • 최낙민 (충남대학교 컵퓨터공학과) ;
  • 조은선 (충남대학교 컵퓨터공학과)
  • Choi, Nak-Min (Dept. of Computer Science and Engineering, Chungnam National University) ;
  • Cho, Eun-Sun (Dept. of Computer Science and Engineering, Chungnam National University)
  • 투고 : 2010.06.01
  • 심사 : 2010.07.07
  • 발행 : 2010.07.25

초록

시맨틱 웹 프로그래밍은 아직 발전 과정 상 초기 단계로서 API에 의존하고 있어, 컴파일 시 에러 검출이 어려우며 프로그래밍 생산성이나 실행 효율성이 낮다. 이를 극복하기 위한 여러 연구 중 하나로 기존 프로그래밍 언어를 확장하여 시맨틱 웹데이터 처리를 위한 전용 프로그래밍 언어를 만드는 작업들이 진행되어 왔다. 본 연구에서는 RDF (Resource Description Framework) 전용 프로그래밍 언어인 Jey로 작성된 프로그램의 효율성을 높이기 위한 방법으로 Jey의 SPARQL 지원 구조에 캐싱 기법을 추가하여 성능을 높이는 방법을 제안한다. 프로그램 정적 분석을 바탕으로 캐시 대상이 판별되므로 정확도를 높이며 성능향상에 기여하게 된다.

Semantic Web programming is such an immature area that it is yet based on API calls, and does not provide high productivity in compiler time and sufficient efficiency in runtime. To get over this limitation, some efforts have been devoted on dedicated programming languages for Semantic Web. In this paper, we introduce a sophisticated cashing technique to enhance the runtime efficiency of RDF (Resource Description Framework) processing programs with SPARQL queries. We use static program analysis on those programs to determine what to be cashed, so as to decrease the cash miss ratio. Our method is implemented on programs in 'Jey' language, which is one of the programming languages devised for RDF data processing.

키워드

과제정보

연구 과제 주관 기관 : 한국연구재단

참고문헌

  1. H. Chen, T. Finin and A. Joshi, "Semantic Web in a Pervasive Context-Aware Architecture", Artificial Intelligence in Mobile System, pp33-40, Seattle, USA, Oct. 2003.
  2. Gomez-Perez, A. and Corcho, O., "Ontology languages for the Semantic Web", IEEE Intelligent Systems, Vol. 17, No. 1, pp.54-60, Jan./Feb. 2002 https://doi.org/10.1109/5254.988453
  3. Jena, http://jena.sourceforge.net/
  4. E. Oren et. al, "ActiveRDF: ObjectOriented Semantic Web Programming", WWW, pp.817- 824, Alberta, Canada, May. 2007.
  5. Semantic Scripting, http://www.semanticscripting.org/
  6. Ik-Hyun Jhin, Nak-Min Choi, Eun-Sun Cho, "Integration of RDF Processing into a Programming Language" NCM, pp.196-199, Seoul, Korea, Aug. 2009.
  7. Ben Wiedermann, Ali Ibrahim, William R. Cook, "Interprocedural query extraction for transparent persistence", OOPSLA, pp.19-36, Nashville, USA, Oct. 2008.
  8. SPARQL Query Language for RDF, W3C, http://www.w3.org/TR/rdf-sparql-query/
  9. Edward Hung, Yu Deng, V.S. Subrahmanian, "RDF Aggregate Queries and Views", ICDE '05, pp.717-728, Washington, DC, USA, Apr. 2005.
  10. Yao-Wen Huang, Fang Yu, Christian Hang, Chung-Hung Tsai, Der-Tsai Lee, Sy-Yen Kuo, "Securing web application code by static analysis and runtime protection", WWW, NY, USA, May. 2004.
  11. Divesh Srivastava, Shaul Dar, H. V. Jagadish, Alon Y. Levy, "Answering SQL Queries Using Materialized Views", VLDB, Seoul, Korea, Sep. 2006.
  12. Alon Y. Halevy, Theory of answering queries using views, ACM SIGMOD Record, vol29, no.4, Dec. 2000.
  13. Lilian Hobbs, "Oracle9i Materialized Views: An Oracle White Paper", http://www.oracle.com/technology/products/oracle9i/pdf/o9i_mv.pdf, May 2001.
  14. Eugene Inseok Chong, Souripriya Das, George Eadon, Jagannathan Srinivasan, "An Efficient SQL-based RDF Querying Scheme", VLDB, pp.1216-1227, Trondheim, Norway, Sep. 2005.
  15. Daniel J. Abadi, Adam Marcus, Samuel R. Madden, Kate Hollenbach "Scalable semantic web data management using vertical partitioning", VLDB, Vienna, Austria, Sep. 2007.
  16. Olaf hartig, Christian Bizer, Johann-Christoph Freytag, "Executing SPARQL Queries over the Web of Linked Data", ISWC, pp.293-309, VA, USA, Oct. 2009.
  17. Abraham B., Christoph K., Marjus S., "OptARQ: A SPARQL Optimization Approach based on Triple Pattern Selectivity Estimation", Technical Report No, ifi-2007.03, Mar. 2007.
  18. Jan Zemanek, Simon Schenk, Vojtech Svatek, "Optimizing SPARQL Queries over Disparate RDF Data Sources through Distributed Semi-Joins", ISWC, Karlsruhe, Germany, Oct. 2008.
  19. Gupta A, Harinarayan V, Quass D, "Aggregatequery processing in data warehousing environment", VLDB, pp.358–369, Zurich, Switzerland, Sep. 1995.
  20. MS Lam et.al, Context-sensitive program analysis as database queries, PODS05
  21. Stephen Thomas, Laurie Williams, Tao Xie, "On automated prepared statement generation to remove SQL injection vulnerabilities", Information and Software Technology, volume 51, number 3, pp.589-598, Mar. 2009. https://doi.org/10.1016/j.infsof.2008.08.002
  22. Hibernate Query Language, http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html/
  23. Groovy, http://groovy.codehaus.org/GPath/
  24. K. Barclay and J. Savage, "Groovy Programming and introduction for Java developers", Morgan Kaufmann Pub., 2007.
  25. Grails - The search is over, http://www.grails.org/
  26. ARQ, http://jena.sourceforge.net/ARQ/
  27. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, "Compilers: Principles, Techniques, and Tools, 2/E", Addison-Wesley, pp.597-617, Dec. 2007.