관계형 데이터베이스를 통해 트리플 스토어를 사용하면 어떤 이점이 있는지 궁금합니다.트리플 스토어와 관계형 데이터베이스
답변
광범위하게 상업적으로 RDF Triplestores 사용하는 회사의 CTO의 관점 :
스키마의 유연성을 - 그것은 라이브 RDF의 저장소에 스키마 변경에 해당 작업을 수행하는 것이 가능하고, 다운 타임없이, 또는 재 설계 - 무료 점심이 아니므로 소프트웨어가 어떻게 작동하는지 조심해야하지만 매우 쉬운 일입니다.
더 많은 현대적인 RDF 저장소는 일반적으로 HTTP를 통해 쿼리되므로 해킹 브리징 솔루션이나 성능 저하없이 서비스 아키텍처에 쉽게 적용 할 수 있습니다. 또한 일반 SQL 데이터베이스보다 국제화 된 콘텐츠를 처리합니다. 다른 언어로 여러 값을 가질 수 있습니다.
표준화 - RDF 및 SPARQL을 사용하는 구현의 표준화 수준이 SQL보다 훨씬 높습니다. 하나의 triplestore를 다른 triplestore로 바꿀 수는 있지만, 표준을 벗어나지 않도록 조심해야합니다. 상점 간 데이터 이동은 모두 동일한 언어를 사용하기 때문에 쉽습니다.
표현력 - SQL보다 RDF에서 복잡한 데이터를 모델링하는 것이 훨씬 쉬우 며 쿼리 언어를 사용하면 LEFT JOIN (SPARQL에서 OPTIONAL이라고 함)과 같은 작업을 더 쉽게 수행 할 수 있습니다. 반대로 데이터가 매우 표 형식이면 SQL이 훨씬 쉽습니다.
Provenance - SPARQL을 사용하면 각 정보의 출처를 추적 할 수 있으며, 특정 소스 또는 특정 신뢰 수준의 데이터 만 고려하여 정교한 쿼리를 쉽게 수행 할 수 있도록 메타 데이터를 저장할 수 있습니다. 일부 날짜 범위 등
에서 단점하지만이 있습니다. SQL 데이터베이스는 일반적으로 훨씬 성숙하며 일반적인 RDF 데이터베이스보다 많은 기능을 갖추고 있습니다. 거래와 같은 것은 종종 훨씬 더 미숙하거나 존재하지 않습니다. 또한 RDF v의 SQL에 저장된 단위 정보 당 비용은 눈에 띄게 높습니다. 일반화하기는 어렵지만 많은 양의 데이터가있는 경우 중요 할 수 있습니다. 최소한 우리의 경우에는 융통성과 권한이 재정적으로 제공되는 전반적인 이점이 있습니다.
+1 스티브의 모든 점에 대해 트리플 스토어 사용의 이점 (단점) 유비 쿼터스 기능이 아니기 때문에 추론을 장점으로 포함 시키겠다. 이점은 아마도 이점 일 것이다.) – Michael
두 주석 기자 모두 정확합니다. 특히 Semantic Web은 데이터베이스가 아니기 때문에이 글자보다 약간 일반입니다.
하지만 트리플 스토어와 관계형 데이터베이스는 다소 의미있는 비교이므로 일반적으로 시맨틱 웹이 아닌 트리플 스토어를 의미 할 수도 있습니다. 관계형 데이터베이스 시스템의 전문가는 아니지만 나머지 트리플 서를 소개 하겠지만 트리플 저장소에 대한 지식은 조금 있습니다.
트리플 (또는 쿼드) 저장소는 기본적으로 시맨틱 웹의 데이터, 특히 RDF에 대한 데이터베이스입니다. 그것은 트리플의 유사점이 & 관계형 데이터베이스를 저장하는 곳입니다. 두 스토어 데이터 모두 쿼리 언어를 사용하며 둘 다 위에 애플리케이션을 빌드하는 데 사용할 수 있습니다. 그래서 당신이 눈을 가늘게 닮았다면, 그들은 꽤 비슷합니다. 그러나 각각의 상점에 저장되는 데이터 유형은 매우 다르므로 두 가지 기술은 서로 다른 사용 사례와 데이터 구조에 맞게 최적화되므로 서로 교환 할 수 없습니다.
많은 사람들이 세계의 트리플 뷰를 관계형 데이터베이스 위에 겹쳐서 작업했으며 작업 할 수 있으며 트리플을 저장하고 검색하는 시스템보다 느립니다. 문제의 일부는 트리플 스토어에서 사용되는 표준 쿼리 언어 인 SPARQL에 많은 자체 조인이 필요할 수 있다는 것입니다. 관계형 데이터베이스는 최적화되지 않았습니다. SP2B과 같은 벤치 마크를 살펴보면 관계형 시스템에서 SPARQL 지원을 오버레이하는 오라클이 RDF를보다 기본적으로 지원하는 시스템과 비교할 때 팩 중간 또는 후면에서 실행된다는 것을 알 수 있습니다.
물론 RDF 시스템은 관계형 데이터를 통해 SQL 쿼리를 수행하는 경우 Oracle에 의해 손상 될 수 있습니다. 그러나 그 점이 중요합니다. 구축하려는 응용 프로그램에 적합한 도구를 선택하십시오.
따라서 시맨틱 웹 응용 프로그램을 만들거나이 분야에 익숙해 지려고하는 경우 궁극적으로 전용 트리플 저장소를 사용하는 것이 좋습니다.
나는 트리플 스토어에서 쿼리 응답에 대해 논할 생각은하지 않겠다. 또 다른 논의이기 때문에, 추론을하는 관계형 시스템과 트리플 스토어간에 또 다른 중요한 차이점이있다.
일부 triplestores (거장, 예나 SDB)은 관계형 데이터베이스를 기반으로 단순히 RDF/SPARQL 인터페이스를 제공한다. 그래서 slighty라는 질문을 다시 한 번 말하자면, triplestore는 처음부터 그렇지 않은 사람들보다 더 뛰어난 triplestore로 만들어졌습니다 - @ steve-harris는 이에 대한 해답을 확실히 알고 있습니다.)하지만 나는 그렇습니다.
둘째, 어떤 기능은 triplestores는 RDBMS가되지 않도록해야합니까. 간단한 대답은 SPARQL, RDF, OWL 등 (즉, 시맨틱 웹 기술 스택)을 지원하고 SPARQL 1.1 (1.0보다 상당히 많은 기능을 가짐)에 기반한 SPARQL의 가치를 정의하는 것이 더 나은 싸움이되도록하는 것이다. . 이는 업데이트 프로토콜, 그래프 관리 프로토콜 (SPARQL 1.0에는 없었고 현저하게 부족함) 표준 세트와 함께 연합 (너무 쿨), 속성 경로 표현 및 수반 체제 지원을 제공합니다. 또한 @ 스티브 해리스는 트랜잭션이 많은 업체 (비르투 오조는 JDBC를 지원하고 최대 절전 모드의 모든 트랜잭션 기능과 함께 준수 연결 풀링 및 관리를 최대 절전 모드) 거래 비 표준화 된 메커니즘을 제공하지만 (이 벌레의 수) 표준의 일부가 아닌 것을 지적
내 마음의 큰 단점은 (는 추천 아직하지 않기 때문에) 많은하지 triplestores은 SPARQL 1.1을 모두 지원하고 실제 혜택은 거짓말 곳이 있다는 것입니다.
나는 RDBMS를 triplestores 및 플랫폼으로 대체하는 주창자이며, RDBMS에 대한 필요성을 부추 기는 동시에 triplestores (전의 마지막 역할에 속하는 폭스 바겐)를 제공한다고 주장하고 있습니다. 추가적인 장점은 Object to RDF 매핑이보다 유연하고 전통적인 ORM (둥근 구멍에 정사각형 페그를 놓는 것으로 알려져 있음)보다 더 많은 옵션과 유연성을 제공한다는 것입니다.
SPARQL 1.1은 현재 권장 사항입니다. AFAIK. –
또한 당신은 여전히 데이터베이스를 사용하지만, 매우 유연한 데이터 교환 형식으로 RDF를 사용할 수 있습니다.
그들은 꽤 다른 것들입니다; 더 자세하게 얘기해 주 시겠어요? –
그건 사과 위에 드라이버를 사용할 때의 이점에 대해 묻는 것과 같습니다. 두 가지 모두 유용하지만 거의 교환 할 수 없습니다. –
@ MikeSherrill'CatRecall '그렇다면 훌륭한 대답을 내놓은 것은 어떨까요? 나는 하나를 위해, 확실히 모른다. 그리고 삼위 일체 관계를 환영합니다. – Benjohn