본문으로 건너뛰기

2.1. Prerequisites

2.1.1. Triple DataBase

  • Goal: 시맨틱 데이터를 저장할 수 있는 데이터베이스를 구축합니다.

2.1.2. 시맨틱 데이터 저장

데이터 저장소의 경우 Virtuoso Universal Server가 활용됩니다. Virtuoso Universal Server는 기존의 관계형 데이터베이스 관리 시스템(RDBMS), 객체-관계형 데이터베이스(ORDBMS), 가상 데이터베이스, RDF, XML, 자유 텍스트, 웹 애플리케이션 서버 및 파일 서버의 기능을 결합한 미들웨어 및 데이터베이스 엔진 하이브리드입니다. 단일 시스템의 기능. 실험 및 개발을 위해 Virtuoso 공식 홈페이지에서 다운로드할 수 있는 Virtuoso Open Source Edition이 사용됩니다.

2.1.3. 윈도우 환경에서 설치

Virtuoso Open-Source Edition은 배포를 위해 빌드되어야 합니다. 빌드 프로세스와 전제 조건 종속성은 공식 홈페이지에 설명되어 있습니다. 빌드 프로세스는 다른 플랫폼의 프로세스에 비해 복잡합니다. 따라서 압축을 풀고 직접 사용할 수 있는 사전 빌드 패키지가 제공됩니다.

2.1.4. Virtuoso 서비스 인스턴스 생성 및 관리

Virtuoso 서버는 HTTP, Web Interface, ODBC, JDBC 등과 같은 다양한 인터페이스를 통해 사용할 수 있습니다. 사용 범위는 Web Interface에서 설명합니다. 사용자에게 액세스 권한을 허용하기 위해 ODBC를 사용하는 몇 가지 작은 상호 작용에 대해서도 설명합니다. 그러나 Semantic API Sever는 주로 JDBC(Virtuoso-Jena Provider 포함)와 SPARQL 1.1 Graph Store HTTP Protocol을 사용합니다.

Virtuoso 서버를 성공적으로 설치한 후에는 virtuoso 서비스 인스턴스를 만들고 시작해야 합니다. 수행할 단계는 다음과 같습니다.

  • 관리자 권한으로 명령 프롬프트(cmd)를 실행합니다.

  • "<virtuoso 설치 위치>\bin" 위치로 이동합니다.

  • 다음 명령어를 실행하여 서비스 인스턴스를 생성합니다. 여기서 <service name>은 사용자 정의 이름이어야 합니다.

    • …\bin> virtuoso +service create +instance <service name> + configfile <virtuoso install location>\database\virtuoso.ini
  • 서비스가 생성된 후 다음 명령어를 실행하여 서비스 인스턴스 상태를 확인합니다.

    • …\bin> virtuoso +service list
  • 다음 목록이 표시되어야 합니다. 여기에서 "ExampleService" 및 "vos"는 사용자 정의 서비스 인스턴스 이름입니다. 여기서 "Stopped"는 서비스 실행 상태입니다.

  • 서비스를 시작하려면 다음 명령을 실행합니다.

    • …\bin> virtuoso +service start +instance <service name>
    • …\bin> virtuoso +service stop +instance <service name>
  • 서비스 시작 후 서비스 실행 상태는 다음과 같이 변경됩니다.

  • 문제 해결: 상태가 변경되지 않으면 "<virtuoso 설치 위치>\database\virtuoso.lck" 파일을 제거합니다.

서비스 생성 및 실행 후 웹 인터페이스는 URL: http://<ip address>:8890/을 통해 액세스할 수 있습니다. URL에서 <ip address>는 "localhost" 또는 원격 액세스를 위한 IP 주소일 수 있습니다. 해당 인터페이스를 통해 Virtuoso Conductor(Virtuoso Admin Interface), SPARQL Endpoint, 설명서, 자습서 등과 같은 다양한 소스 및 기능에 액세스할 수 있습니다.

2.1.5. Virtuoso의 필수 기능 사용

기본 관리자 계정 이름과 암호는 "dba" 입니다. Virtuoso Conductor는 매우 다양한 기능을 제공하지만 이 문서의 범위에 대해 다음과 같이 설명합니다.

  • 사용자 계정
  • 연결된 데이터 기능
    • Quad Store Upload
    • Graphs*
    • SPARQL
    • Namespaces

"사용자 계정"은 탭을 통해 액세스할 수 있습니다.

  • 시스템 관리 > 사용자 계정. virtuoso 사용자를 관리하고 다른 액세스 권한을 제공하는 기능을 제공합니다. 기존 사용자 목록은 시스템 관리자 > 사용자 계정 > 사용자 탭에서 찾을 수 있습니다.

아래 그림은 새 사용자 계정을 생성하기 위한 인터페이스를 보여줍니다.

SPARQL을 사용하여 triple 데이터를 조작하려면 "주 역할" 및 "계정 역할"을 SPARQL_SPONGE로 설정해야 합니다. "DAV 홈 경로"는 데이터를 문서로 업로드할 수 있는 새 사용자의 디렉터리 경로를 제공합니다.

triple 데이터 문서는 링크된 데이터 > 쿼드 스토어 업로드 탭을 통해 액세스할 수 있는 "쿼드 스토어 업로드"를 사용하여 Virtuoso triple 데이터베이스(쿼드 스토어)에 직접 업로드할 수 있습니다. 그러나 유효한 파일과 직렬화 형식(예: rdf, ttl 등)만 업로드할 수 있습니다. 그렇지 않으면 오류가 발생합니다. 아래 그림은 "Named Graph IRI"가 생성된 그래프에 해당하는 IRI가 되는 사용자 인터페이스를 보여줍니다.

생성된 그래프는 Linked Data > Graphs 및 Linked Data > SPARQL을 통해 각각 접근 가능한 “Graphs”와 “SPARQL”을 통해 확인할 수 있습니다. "그래프" 탭은 triple 스토어에서 사용 가능한 그래프 목록을 표시하고 "SPARQL" 탭은 해당 그래프에 대해 SPARQL 쿼리를 실행하기 위한 인터페이스를 제공합니다. "SPARQL" 인터페이스를 사용하여 모든 SPARQL 쿼리를 실행할 수 있습니다.

모든 사용자에 대한 기본 설정은 SPARQL SELECT 쿼리만 실행할 수 있습니다. SPARQL INSERT 또는 DELETE 쿼리가 필요한 triple 데이터를 조작하려면 Virtuoso에서 특별한 권한을 부여해야 합니다. 이것은 ODBC 인터페이스를 사용하여 수행할 수 있습니다.

2.1.6. Virtuoso의 ODBC 인터페이스를 사용하여 액세스 권한 처리

사용자가 SPARQL UPDATE 쿼리를 수행할 수 있도록 다음 단계를 수행할 수 있습니다.

  • 관리자 권한으로 명령 프롬프트(cmd)를 실행합니다.

  • "<virtuoso 설치 위치>\bin" 위치로 이동합니다.

  • 다음 명령어를 실행하여 ISQL 서비스를 실행합니다. 여기서 <user name>,<password> 및 <SQL user for execution>은 dba가 될 수 있습니다.

    • …\bin> isql 1111 <user name> <password> -u usr=“<SQL user for execution>” blog_server.sql
  • ISQL 내부에서 다음 명령어를 실행합니다. 여기서 <grant to be allowed for user>는 실행을 위해 부여되는 프로시저입니다 (예: DB.DBA.SPARQL_INSERT_DICT_CONTENT). 또한 <user account>는 권한이 부여될 사용자 계정입니다.

    • SQL> grant execute on “<grant to be allowed for user>” to “<user_account>”;