2.2.1 Oracle Autonomous Databaseでのセマンティク・データに関するスタート・ガイド

このチュートリアルでは、Autonomous DatabaseでRDFデータの使用を開始する方法について説明します。

各ステップのSQL文は、次のいずれかのオプションを使用して実行できます。
  1. 管理権限を持つユーザーとして自律型データベースに接続し、ネットワーク所有者ユーザーを作成します。
    CREATE USER rdfuser
    IDENTIFIED BY <password-for-rdfuser>
    QUOTA 5G ON DATA;

    ノート:

    データベース・アクションを使用している場合は、新しいユーザーがデータベース・アクションにアクセスできるようにするために、ユーザーをREST対応にする必要があります。詳細は、ユーザーの作成を参照してください。
  2. 新しく作成されたネットワーク所有者ユーザーに必要な権限を付与します。
    次の文を実行するには、管理権限があるユーザーとして接続している必要があります。
    GRANT CONNECT, RESOURCE, CREATE VIEW TO rdfuser;

    ノート:

    前のステップで新しいユーザーを作成するためにデータベース・アクションを使用している場合、CONNECTおよびRESOURCE権限がデフォルトで提供されます。したがって、CREATE VIEW権限は新しいユーザーにのみ付与する必要があります。
  3. ネットワーク所有者ユーザーとして接続します。
    CONNECT rdfuser/<password-for-rdfuser>
  4. SEM_APIS.CREATE_SEM_NETWORKをコールして、セマンティク・ネットワークを作成します。

    表領域DATA上に、スキーマプライベート・ネットワークの意図した所有者としてセマンティク・ネットワークを作成する必要があります。

    次の例では、DATA表領域を使用して、ネットワーク所有者ユーザーrdfuserが所有するnet1というスキーマプライベート・セマンティク・ネットワークを作成します。

    EXECUTE SEM_APIS.CREATE_SEM_NETWORK('DATA', network_owner=>'rdfuser', network_name=>'net1');
  5. SEM_APIS.CREATE_SEM_MODELをコールしてモデルを作成します。
    次の例では、net1スキーマプライベート・ネットワークにarticlesというモデルを作成します。
    EXECUTE SEM_APIS.CREATE_SEM_MODEL('articles', NULL, NULL, network_owner=>'rdfuser', network_name=>'net1');
    
  6. モデルにトリプルを挿入します。
    SQL INSERT文を使用して、モデルにトリプルを挿入できます。たとえば、次のようにします。
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles','<http://nature.example.com/Article1>',
        '<http://purl.org/dc/elements/1.1/title>','"All about XYZ"',
        network_owner=>'RDFUSER', network_name=>'NET1'));
    
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles','<http://nature.example.com/Article1>',
        '<http://purl.org/dc/elements/1.1/creator>','"Jane Smith"',
        network_owner=>'RDFUSER', network_name=>'NET1'));
    
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles',
        '<http://nature.example.com/Article1>',
        '<http://purl.org/dc/terms/references>',
        '<http://nature.example.com/Article2>',
        network_owner=>'RDFUSER', network_name=>'NET1'));
    
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles','<http://nature.example.com/Article2>',
        '<http://purl.org/dc/elements/1.1/title>','"A review of ABC"',
        network_owner=>'RDFUSER', network_name=>'NET1'));
    
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles','<http://nature.example.com/Article2>',
        '<http://purl.org/dc/elements/1.1/creator>','"Joe Bloggs"',
        network_owner=>'RDFUSER', network_name=>'NET1'));
    
    INSERT INTO rdfuser.net1#rdft_articles(triple) VALUES (
      SDO_RDF_TRIPLE_S ('articles',
        '<http://nature.example.com/Article2>',
        '<http://purl.org/dc/terms/references>',
        '<http://nature.example.com/Article3>',
        network_owner=>'RDFUSER', network_name=>'NET1'));
  7. RDFグラフ・サーバーおよび問合せUIを使用して、挿入されたデータに対してSPARQL問合せを実行します。

    RDF問合せUIアプリケーションを起動するには、Oracle Cloud MarketplaceからのRDFグラフ・サーバーおよび問合せUIのデプロイを参照してください。

    挿入されたデータを問い合せるには、RDFグラフ問合せUIのSPARQL問合せページでSPARQL問合せを実行します。

    図2-1 RDFグラフ問合せUIでのSPARQL問合せの実行

    RDF問合せUIでのSPARQL問合せの実行

    あるいは、専用のAutonomous Databaseデプロイメントで、SQL DeveloperのSPARQLエディタを使用してSPARQL問合せを実行することもできます。ただし、共有デプロイメントでAutonomous Databaseを使用している場合、SPARQLエディタはSQL Developer 21.2以降でのみサポートされます。クラウド・ウォレットを使用して自律型データベースへの接続を作成するには、Oracle SQL Developerとの接続を参照してください。