* description : Apache Jena * author : 오션 * email : shlim@repia.com * lastupdate : 2020-07-24 ===== Apache Jena ===== * 2000년 영국 브리스톨(Bristol)의 HP Labs(HP 연구소) 연구원들이 개발하였습니다. * 시맨틱 웹(semantic web) 애플리케이션을 구축하는 Java 프레임워크입니다. * 공표된 W3C의 권고에 의거하며 RDF, RDFS, RDFa, OWL, SPARQL을 처리하는 코드를 개발하도록 도와주는 광범위한 Java 라이브러리를 제공합니다. * Jena에는 OWL과 RDFS 온톨로지에 기초한 '규칙 기반 추론 엔진(a rule-based inference engine)'과 메모리 또는 디스크에 RDF triples(트리플즈)를 저장하는 다양한 저장 전략이 있습니다. ===== 의미 ===== ==== OWL ==== * OWL : Web Ontology Language, [웹 온톨로지 랭귀지] * 사물, 사물의 군집, 사물간의 관계에 대한 풍부하고 복잡한 지식을 나타내도록 설계된 '시맨틱 웹 언어(Semantic Web Language)'입니다. * OWL은 컴퓨터 로직 기반 언어입니다. * 컴퓨터 프로그램은 OWL로 표현된 지식을 이용하여 지식의 일관성을 증명하거나, 함축적인 지식을 명시적으로 만드는 것 등을 할 수 있습니다. * :-) [[https://www.w3.org/2001/sw/wiki/OWL|OWL]] ==== RDF ==== * Resource Description Framework [리소스 디스크립션 프레임워크]\\ * RDF는 웹에서 데이터 교환을 위한 표준 모델입니다. * RDF is a directed, labeled graph data format for representing information in the Web. * ;-) [[https://www.w3.org/2001/sw/wiki/RDF|RDF]] ==== RDFS ==== * RDF Schema : RDF Vocabulary Description Language 1.0\\ * RDFS는 웹에서 단순한 RDF vocabularies를 표현하기 위한 범용 언어입니다. * m( [[https://www.w3.org/2001/sw/wiki/RDFS|RDFS]] ==== RDFa ==== * RDFa : RDF in Attributes, [RDF 인 어트리븃츠]\\ * RDFa는 HTML5, XHTML, XML 애플리케이션에서 구조화된 데이터를 표현하는 속성(attributes) 설명서입니다. * LOL [[https://www.w3.org/2001/sw/wiki/RDFa|RDFa]] ==== rule-based inference engine ==== ==== SPARQL ==== * SPARQL : Query Language for RDF * RDF 쿼리 언어입니다. * 8-o [[https://www.w3.org/2001/sw/wiki/SPARQL|SPARQL]] ==== TDB ==== - RDF 저장과 쿼리를 위한 Jena의 구성요소입니다. - 모든 Jena API를 지원합니다. - 단일 머신에서 고성능 RDF store로 사용될 수 있습니다. - 차세대 버전 TDB2와 구별하기 위하여 TDB를 TDB1이라고도 합니다. - TDB1과 TDB2 데이터베이스는 호환되지 않습니다. - TDB store는 제공되는 명령어 스크립트와 Jena API로 엑세스되고 관린될 수 있습니다. - transactions를 사용하여 엑세스할 때, TDB 데이터세트는 데이터 손상, 예기치 못한 프로세스 종료와 시스템 충돌에서 보호됩니다. - TDB 데이터세트는 한 번에 단일 JVM에서 직접 엑세스되어야 합니다.그렇지 않을 경우, 데이터 손상이 발생할 수 있습니다. TDB 1.1.0부터는 대부분의 환경에서 이를 방지하는 '다중 JVM 사용에 대한 자동 보호' 기능이 포함됩니다. - 여러 애플리케이션간 TDB 데이터세트를 공유하려는 경우, Fuseki 컴포넌트를 사용하세요 - Fuseki 컴포넌트 : * '영구 저장소(persistent storage)'로 TDB를 사용할 수 있는 SPARQL server를 제공합니다. * HTTP로 쿼리, 업데이트, REST update를 위한 SPARQL 프로토콜을 제공합니다. ==== Triples ==== ==== TURTLE ==== * Turtle ==> Terse RDF Triple Language (간결한 RDF 트리플 언어) * RDF를 위한 구체적인 구문 * Turtle document ==> RDF 그래프를 텍스트로 표현한 것을 의미. * 원문 : A Turtle document is a textual representations of an RDF graph. ==== XSD ==== * XML Schema Definition : XML 스키마 정의 * XML 문서의 구조와 포함할 수 있는 요소(element)와 속성(attribute)을 명시하여 해당 문서가 정의한 대로 잘 작성한 XML문서인지 유효성을 검사하는 방법 * [[http://tcpschool.com/xml/xml_xsd_intro|XSD 개요 by TCP SCHOOL.com]] * [[http://terms.tta.or.kr/dictionary/dictionaryView.do?word_seq=060468-5|확장성 마크업 스키마 정의 언어]] ==== SOH ==== * SOH : SPARQL Over HTTP * SPARQL 1.1로 작업하는 커맨드라인 스크립트 세트를 의미합니다. * HTTP 엑세스를 제공하며 SPARQL1.1을 준수하는 어떤 시스템에서도 작동되며 서버 독립성을 가집니다. ===== Ref ===== [[https://jena.apache.org/about_jena/about.html|What is Jena?]]\\ {{ :wiki:util:jena_install_guide.pdf |Eclipse 사용자를 위한 Jena 프로젝트 시작 메뉴얼}}\\ {{tag>오션 Jena Java-framework Semantic-Web}}