본문 바로가기
728x90

Web Development/SPARQL6

[SPARQL / RDF] 속성 중 하나만 가지고 있어도 조회하기(feat. 외부조인 outer join) 이전 글에서 여러 개의 속성을 동시에 가지고 있으면서, 한 URI에 대한 여러 개의 결과를 하나의 행으로 출력하는 방법을 살펴보았다. ▼▼▼ 이전 글 보기 [SPARQL / RDF] 동일한 URI의 여러 행 데이터를 한 행으로 조회(feat. 카티션 프로덕트/Cartesian Product) SPARQL 쿼리를 조회하다보면, 쿼리가 길어지기 마련이다. 하나의 속성에 대해서만 조회하면 문제가 없겠지만 실무에서는 여러 개의 속성을 가지고 있는 데이터를 조회하게 된다. 예를 들어, 제목 devlifetestcase.tistory.com 그러면 SQL의 OUTER JOIN처럼 Null 값이어도, 또는 속성 중 하나만 가지고 있더라도 결과로 조회하는 방법은 없을까? SPARQL / SPARQL 예제에 대해서 실무.. 2022. 1. 18.
[SPARQL / RDF] 동일한 URI의 여러 행 데이터를 한 행으로 조회(feat. 카티션 프로덕트/Cartesian Product) SPARQL 쿼리를 조회하다보면, 쿼리가 길어지기 마련이다. 하나의 속성에 대해서만 조회하면 문제가 없겠지만 실무에서는 여러 개의 속성을 가지고 있는 데이터를 조회하게 된다. 예를 들어, 제목과 설명을 모두 갖고 있는 데이터를 조회하는 경우를 말하는 것이다. 이 경우에, RDB에서 두 개의 테이블을 조인해서 조회할 때 발생하는 카티션 프로덕트가 SPARQL에서도 발생한다. RDB에서는 조인 조건을 추가해줌으로써 카티션 프로덕트가 해소되지만, SPARQL에서는 그런 방법이 없어보였다. (만약에 있다면, 알려주시면 정말 감사하겠습니다) 그렇기에 이 문제를 해결해야했는데, 해결하기 전에 어떤 문제인지 간략히 보도록 하겠다. HTML 삽입 미리보기할 수 없는 소스 SPARQL 예제인 사례를 설명하기 위해 DBP.. 2022. 1. 18.
[SPARQL / RDF] 검색 기능 구현 및 개선하기(like 검색 엔진) 이전 글에서 단어를 통해 결과를 조회할 수 있는 검색 쿼리를 작성해보았다. ▼▼▼ 검색 쿼리를 작성해놓은 이전 글 링크 [SPARQL / RDF] 검색어(단어)가 포함된 결과 조회하기 SPARQL로 프로젝트를 진행하다가 검색 기능을 구현하게 됐다. RDB였다면 %나 CONCAT을 이용하면 됐지만, SPARQL에서 해당 쿼리를 작성하려고 하니 쉬워보이지 않았다. 하지만, 역시 SPARQL도 쿼리의 일종 devlifetestcase.tistory.com 그러나 단순 쿼리만으로는 검색에 아쉬운 점이 있었다. 1. 띄어쓰기 ▶ 띄어쓰기 또한 문자로 인식하기 때문에 '가나'와 '가 나'를 검색했을 때 결과가 다르다 2. 순서 ▶ 검색결과는 가장 일치하는 문자부터 출력되어야 한다 3. 검색 성능 ▶ 글로벌 DBPe.. 2022. 1. 18.
[SPARQL / RDF] 검색어(단어)가 포함된 결과 조회하기 SPARQL / SPARQL 예제로 프로젝트를 진행하다가 검색 기능을 구현하게 됐다. RDB였다면 %나 CONCAT을 이용하면 됐지만, SPARQL에서 해당 쿼리를 작성하려고 하니 쉬워보이지 않았다. 하지만, 역시 SPARQL도 쿼리의 일종이기 때문에 관련 기능을 제공하고 있었다. 바로 FILTER를 이용한 방법이다. SPARQL의 FILTER는 SQL의 WHERE와 유사한 기능을 한다. 이 FILTER를 이용해서 조회할 결과의 조건을 설정할 수 있다. FILTER는 또한, 다양한 함수와 기능을 제공하는데 아래 w3c의 공식 링크에서 자세한 내용을 찾아볼 수 있다. SPARQL Query Language for RDF www.w3.org [검색 기능 구현] 그 중에서 검색을 위해 사용할 수 있는 기능은 .. 2022. 1. 17.
[SPARQL / RDF] SPARQL 트리플 패턴을 간단하게 이해해보기 ▼▼▼ SPARQL에 대해서 아직 이해가 덜 되었다면 하단의 이전 시리즈 글을 참고 [SPARQL / RDF] LOD 데이터와 SPARQL을 RDB 개념으로 간단하게 이해해보기 ◆ LD : Linked Data ◆ OD : Open Data ◆ LD + OD = LOD(Linked Open Data) 위에서 알 수 있듯이 LOD는 Linked Data와 Open Data의 합성어이다. 웹에 발행된 데이터들을 개별 URI를 통해 구별 및 연결하는 Linke.. devlifetestcase.tistory.com SPARQL 쿼리는 SQL 쿼리와 다르게 트리플 패턴으로 이루어져 있다. 트리플 패턴이 주는 느낌은 마치, 영어의 3형식 문장과 같다. - 영어 3형식 문장 : 주어(S) + 동사(V) + 목적어(O.. 2022. 1. 17.
[SPARQL / RDF] LOD 데이터와 SPARQL을 RDB 개념으로 간단하게 이해해보기 ◆ LD : Linked Data ◆ OD : Open Data ◆ LD + OD = LOD(Linked Open Data) 위에서 알 수 있듯이 LOD는 Linked Data와 Open Data의 합성어이다. 웹에 발행된 데이터들을 개별 URI를 통해 구별 및 연결하는 Linked Data 그리고 누구나 자유롭게 사용, 배포할 수 있는 Open Data 의 특징이 결합된 Data라는 뜻이다. RDB(관계형 데이터베이스)에 익숙해있던 내가 처음 LOD라는 개념을 접하였을 때, 바로 이해하는 것은 결코 쉽지 않았다. 그러나 곧, 쉽게 이해하는 법을 터득했다. 그 방법이라는 것은, LOD라는 개념을 RDB에 맞춰서 생각해보는 것이었다. LOD는 개별 URI에 링크 정보를 부여하여 웹을 상호 연결한다. 이를 .. 2022. 1. 14.
반응형