『Oracle Spatial and Graph RDFセマンティク・グラフ開発者ガイド』のこのリリースでの変更点

この項の内容は次のとおりです。

Oracle Databaseリリース18.1での変更点

Oracle Databaseリリース18.1の『Oracle Spatial and Graph RDFセマンティック・グラフ開発者ガイド』での変更点は、次のとおりです。

Oracle Database In-Memoryの追加サポート

Oracle Database In-Memory機能を利用するために、RDFデータをメモリーに簡単にロードできます。SEM_APIS.ENABLE_INMEMORYプロシージャを使用して、セマンティク・ネットワークをメモリーにロードできるようになりました。さらに、仮想モデル・レベルでインメモリー仮想列を使用して、MDSYS.RDF_LINK$表のインメモリー表現にRDF語句の字句の値を追加することで、SPARQL問合せを評価するために必要な結合の数を減らすことができます。

詳細は、「RDFによるOracle Database In-Memoryのサポート」を参照してください。

コンポジット・パーティション化を使用するセマンティク・ネットワークの追加サポート

リスト-ハッシュ・コンポジット・パーティション化を使用して、セマンティク・ネットワークを作成できるようになりました。この方法では、セマンティク・ネットワークはまずモデルIDによってリスト・パーティション化され、次にRDF述語IDのハッシュを使用して各パーティションがサブパーティション化されます。コンポジット・パーティション化は、並列化を促進し、クエリ・オプティマイザの統計を改善することで、SPARQL問合せのパフォーマンスを向上します。

詳細は、セマンティック・ネットワークを参照してください。

バルク・ロード操作でのCLOBサポートの拡張

長いリテラル(サイズが4000バイトより大きいRDFオブジェクト値)を持つRDFクワッドが含まれるステージング表を、SEM_APIS.BULK_LOAD_FROM_STAGING_TABLEに効率的にロードできるようになりました。

外部表からのロード時に長いリテラルをより適切に処理できるように、SEM_APIS.LOAD_INTO_STAGING_TABLEに新しいオプションも追加されています。VC_ONLYオプションは、オブジェクト値が4000バイト以下のRDFクワッドのみをステージング表にロードし、CLOB_ONLYオプションは、オブジェクト値が4000バイトより大きいRDFクワッドのみをロードします。これらのオプションによって、VARCHARデータのみが1回のバルク・ロード操作でロードされ、CLOBデータのみが2回目のバルク・ロード操作でロードされる、非常に効率的な2フェーズのバルク・ロードが可能になります。

TurtleおよびTrig RDF形式のネイティブ・サポート

TurtleおよびTrig RDF形式を、サードパーティ・ツールなしでOracle Databaseに直接ロードできるようになりました。SEM_APIS.UPDATE_MODELを介して実行されるSPARQL LOAD操作では、これまでサポートされていたN-TripleおよびN-Quad形式に加え、TurtleおよびTrig形式でシリアライズされたRDFデータを解析および挿入できるようになりました。

RDFビューを、TurtleまたはN-Triple形式で指定されるR2RMLマッピングから直接作成できるようになりました。新しいR2RML_STRINGおよびR2RML_STRING_FMT引数がSEM_APIS.CREATE_RDFVIEW_MODELに追加され、R2RMLマッピング文字列を使用してRDFビュー・モデルを作成できるようになりました。

SQL Developerに追加されたRDFのサポート

Oracle SQL Developerを使用してRDF関連オブジェクトを作成することやRDF機能およびOWL機能を使用することができます。

詳細は、SQL DeveloperでのRDFのサポートを参照してください。

Oracle Database 12cリリース2 (12.2)での変更点

Oracle Database 12cリリース2 (12.2)での『Oracle Spatial and Graph RDFセマンティク・グラフ開発者ガイド』の変更点は、次のとおりです。

必須事項: 既存セマンティク・データの移行

Oracle Database 11.1、11.2または12.1で作成されたセマンティク・データがある場合、そのデータをOracle Database 12.2の環境で使用するには、データの移行が必要です。

詳細は、「リリース12.2よりも前のセマンティク・データに必要な移行作業」を参照してください。

セマンティク・モデルに対するSPARQL更新操作

セマンティク・モデルに対してSPARQL更新操作を行えるようになりました。W3C SPARQL 1.1更新は、SEM_APIS.UPDATE_MODELプロシージャを通じて、Oracle Databaseセマンティク・テクノロジでサポートされています。

詳細は、「セマンティク・モデルに対するSPARQL更新操作のサポート」を参照してください。

RDF ORDER BY問合せの機能強化とオプション

SPARQL ORDER BYセマンティクを使用するRDFデータへの問合せが、デフォルトで以前のリリースよりも効率よく処理されるようになりました。この内部処理の効率向上には、MDSYS.RDF_VALUE$メタデータ表(「文」を参照)のORDER_TYPE列、ORDER_NUM列およびORDER_DATE列が関与しています。ただし、なんらかの理由でこの機能を無効にする必要がある場合には、SEM_MATCH問合せでDISABLE_ORDER_COLオプションを指定することにより、無効化できます。

詳細は、「強化されたRDF ORDER BY問合せ処理」を参照してください。

Oracle Databaseに格納されたプロパティ・グラフ・データとの統合

Oracle Databaseに格納されたプロパティ・グラフ・データを、RDFビューを使用してRDFデータと統合できます。プロパティ・グラフ・データのRDFビューを作成し保守するのに適したPL/SQL APIが用意されています。プロパティ・グラフのRDFビューは、リレーショナル・データのRDFと同じように動作します。また、SPARQLを使用した問合せや、ネイティブRDFデータとしての実体化もできます。

詳細は、「Oracle Databaseに格納されたプロパティ・グラフ・データとのRDF統合」を参照してください。

SEM_APIS.SPARQL_TO_SQL関数

新たに、SPARQL_TO_SQL PL/SQLプロシージャが、SEM_APISパッケージに追加されました。このプロシージャで、SPARQL問合せのSQL翻訳を取得できます。結果として取得されたSQLは、その他のSQL文字列と同様に実行可能です(たとえば、JavaからのJDBCの使用、またはPL/SQLからのEXECUTE IMMEDIATEの実行)。さらに、SPARQL_TO_SQLは、読取り専用データベース、長いSPARQL問合せ文字列、JDBCとPL/SQLのバインド変数に対応しています。

詳細は、「SEM_APIS.SPARQL_TO_SQL関数を使用したセマンティク・データの問合せ」を参照してください。

新たなSPARQL問合せ関数

Oracle独自の新たなSPARQL問合せ関数が利用できます。

  • orardf:like(RDF term, pattern)

  • orardf:sameCanonTerm(RDF term, RDF term)

  • orardf:textScore(invocation id)

詳細は、「「グラフ・パターン: 中カッコの構文とOPTIONAL、FILTER、UNIONおよびGRAPHキーワードのサポート」」に示されている、Oracle独自の関数に関する表を参照してください。

GeoSPARQLサポートの拡張

機能を増やし、パフォーマンスを高めるためにGeoSPARQLサポートが拡張されました。

フラッシュバック問合せのサポート

RDFデータに対するOracleフラッシュバック問合せがサポートされるようになりました。SEM_MATCHまたはSEM_APIS.SPARQL_TO_SQLを使用し、ターゲットのシステム変更番号(SCN)またはタイムスタンプを指定するAS_OFヒントを用いて、以前に存在していたRDFモデルを問い合わせることができます。

詳細は、「フラッシュバック問合せのサポート」を参照してください。

RDFを使用したワークスペース・マネージャおよび仮想プライベート・データベースのサポート終了

Workspace ManagerのRDFデータに対するサポート、およびRDFセマンティク・グラフでの仮想プライベート・データベースのサポートは、Oracle Database 12cリリース2 (12.2)では終了しています。そうしたサポートに関する情報は、このガイドから削除されました。

Workspace Manager (WM)または仮想プライベート・データベース(VPD)のデータを含む既存のセマンティク・データがある場合には、アップデートの前に「Workspace Manager仮想プライベート・データベースのサポート終了」を参照してください。

Oracle Database 12cリリース1 (12.1.0.2)での変更点

Oracle Database 12cリリース1 (12.1.0.2)の『Oracle Spatial and Graph RDFセマンティック・グラフ開発者ガイド』での変更点は、次のとおりです。

SPARQL 1.1フェデレーテッド問合せのサポート

SEM_MATCHはSPARQL 1.1フェデレーテッド問合せをサポートします。SERVICE構成要素を使用して、指定したSPARQLエンドポイントURLから結果を取得できます。この機能により、ローカルのRDFデータ(ネイティブRDFデータまたはリレーショナル・データのRDFビュー)を、W3C標準準拠のSPARQLエンドポイントによって提供される他のRDFデータ(おそらくリモート)と組み合せることができます。

SPARQL 1.1フェデレーテッド問合せの詳細は、「グラフ・パターン: SPARQL 1.1のフェデレーテッド問合せのサポート」を参照してください。

ネイティブ・トリプル・データと仮想RDB2RDFトリプル・データの組合せ

新しい項(「ネイティブRDFデータと仮想RDB2RDFデータの組合せ」)で、1つのSEM_MATCH問合せでSERVICEキーワードを使用し、ネイティブ・トリプル・データと仮想RDB2RDFトリプル・データを組み合せる方法を説明しています。

Oracle Database 12cリリース1 (12.1.0.1)での変更点

Oracle Database 12cリリース1 (12.1.0.1)の『Oracle Spatial and Graph RDFセマンティック・グラフ開発者ガイド』での変更点は、次のとおりです。

新機能

このリリースの新機能は次のとおりです。

SPARQL 1.1の構成要素の拡張サポート

SEM_MATCHは、次のSPARQL 1.1の構成要素をサポートします(「グラフ・パターン: SPARQL 1.1の構成要素のサポート」を参照)。

仮想モデルの拡張サポート

モデルまたは伴意、あるいはその両方の任意の組合せで、仮想モデルを作成できるようになりました(「仮想モデル」を参照)。以前、仮想モデルは1つ以上のモデルを持つ必要があり、伴意は1つまでに限られていました。

仮想モデルは置き換えが可能になり、先に削除する必要はありません。SEM_APIS.CREATE_VIRTUAL_MODELプロシージャの新しいREPLACE=Tオプションによって、仮想モデルの定義の変更中でも、仮想モデルのアクセス権限を保持できます。(REPLACE=Tオプションを使用することは、ビューでCREATE OR REPLACE VIEWを使用することと似ています。)

ユーザー定義の推論および問合せのサポート

新しいRDFセマンティク・グラフの拡張アーキテクチャによって、ユーザー定義の機能を追加できるようになりました。

  • 推論の拡張機能アーキテクチャによって、すでに提供されている推論のサポートに加えて、ユーザー定義の推論が使用可能になります。

  • 問合せの拡張アーキテクチャにより、SPARQL問合せで使用されるユーザー定義の関数と集計を追加できます。これはいずれも、SEM_MATCH関数およびSupport for Apache Jenaを介して実現されます。

これらの機能の詳細は、「ユーザー定義の推論と問合せ」を参照してください。

OWL 2 ELのサポート

OWL 2 ELプロファイルは、システム定義のルールベースOWL2ELを追加することでサポートされます(「サポートされるOWLサブセット」を参照)。

OGC GeoSPARQLのサポート

空間データの表現および問合せのためのOGC GeoSPARQL標準がサポートされるようになりました(「OGC GeoSPARQLのサポート」を参照)。

ラダーベース推論

ラダーベース推論は、ファイングレイン・トリプルレベル・セキュリティの便利なオプションとして使用可能です(「推論データとラダーベース推論(LBI)のファイングレイン・セキュリティ」を参照)。

RDFビュー

リレーショナル・データに関するRDFビューを作成および使用できます。リレーショナル・データをRDFトリプルにマップすることで、セマンティク操作を手軽に実行可能になり、リレーショナル・データに対応するRDFトリプルを格納する必要がなくなりました。詳細は、「RDFビュー: RDFとしてのリレーショナル・データ」を参照してください。

セマンティク・ネットワークのエクスポートおよびインポートに対するデータ・ポンプのサポート

Oracle Databaseリリース12.1では、「Oracle Data Pumpを使用したセマンティク・ネットワークのエクスポートまたはインポート」の説明にあるとおり、Oracle Data Pumpユーティリティの全てのデータベース・エクスポートおよびインポートの機能を使用して、セマンティク・ネットワークのエクスポートとインポートを行うことができます。

非推奨となった機能

RDFセマンティク・グラフでの次の機能のサポートは、このリリースで非推奨となり、将来のリリースでサポートが終了する可能性があります。

  • Virtual Private Database(VPD)

  • バージョン管理の可能な(Workspace Manager)モデル

サポートが終了した機能

このドキュメントで以前に記述されていた機能の一部は、Oracle Database12cリリース1(12.1)ではサポートされません。サポートされない機能のリストは、『Oracle Databaseアップグレード・ガイド』を参照してください。

RDF Semantic Graph Support for Apache Jenaの変更点

RDF Semantic Graph Support for Apache Jenaでは、jena-core-2.11.1およびjena-arq-2.11.1を含むApache Jena 2.11.1がサポートされています。サポート対象には次のようなものがあります(サポートがApache Jena 2.7.2を対象に追加されると、ほとんどのサポートが含まれます)。

support for Apache Jenaの使用方法は、「RDF Semantic Graph Support for Apache Jena」を参照してください。

SEM_MATCHまたはSQLベース問合せ結果からのユーザーフレンドリJavaオブジェクト取得のサポート

ユーザーフレンドリなJavaオブジェクトをSEM_MATCHまたはSQLベースのグラフ問合せ結果から取得できるようになっていることから、射影列($RDFVTYP、$RDFLTYP、$RDFLANG、$RDFCLOBなど)またはMDSYS.RDF_VALUE$内の対応する列(VALUE_TYPE、LITERAL_TYPE、LANGUAGE_TYPE、LONG_VALUEおよびVALUE_NAMEを含む)に埋め込まれたわかりづらい詳細情報を解析して理解する必要がなくなりました。

説明および例は、「SEM_MATCHまたはSQLベースの問合せ結果からのユーザーフレンドリJavaオブジェクトの取得」を参照してください。

Oracle Database用Protegeプラグイン

このプラグインによって、Protege 4.1のオントロジの視覚的編集機能を、Oracle Databaseで提供される堅牢なセマンティック・データ管理機能と容易に統合できます。

このプラグインの.jarファイルとインストール文書は、リリースzipファイルのprotege_plugin/ディレクトリ下にあります。

カスタマイズされたデータ・ソース名のサポート

以前のリリースでは、Josekiのデプロイメントにおいて固定データ・ソース名OracleSemDSが必須でした。このリリースでは、Joseki構成のoracle:dataSourceName設定でデータ・ソース名をカスタマイズできます。

また、問合せIDを使用して長時間実行されているSPARQL問合せを終了するために、データベース接続の確立に使用されるデータ・ソース名をカスタマイズすることもできます(詳細は、「長時間実行されているSPARQL問合せの終了」を参照)。デフォルトのデータ・ソース名を変更するには、次のJVMプロパティを編集します。

-Doracle.spatial.rdf.client.jena.dsNameForQueryMgt=OracleSemDS

29000バイトを越える変換SQLテキストによるSPARQL問合せのサポート

S2S機能は強化され、数十万バイト長のSQLテキストを変換した非常に長いSPARQL問合せをサポートしています。ただし、簡略なSPARQL問合せの方がユーザーやアプリケーション開発者が理解しやすく、またOracle Databaseが効率的に実行できるため、可能なかぎり簡略な(短い) SPARQL問合せの使用を.お薦めします。

読取り専用モードのOracle Databaseのサポート

Joseki Webサービスのエンド・ポイントは、読取り専用モードで開かれたOracle Databaseを処理できるようになりました。問合せには問題なく回答できます。

読取り専用のOracle Databaseを処理するには、問合せにS2Sを使用する必要があります。

VerboseでないJoseki出力

このリリースでは、Josekiロギングの出力量が削減されています。ただし、トレース・レベルを1以上に設定すると、デバッグ目的でより多くのトレース出力が得られます。たとえば、次のようにします。

-Doracle.spatial.rdf.client.jena.josekiTraceLevel=1

長時間実行されているSPARQL問合せの終了に責任を負う表の管理用Java APIs

次のサーブレットを使用してSPARQL問合せの終了リクエストが送信される場合。

http://<hostname>:7001/joseki/querymgt?abortqid=8761

リクエスト(問合せIDおよびタイムスタンプ)は、ユーザーのスキーマのORACLE_ORARDF_QUERY_MGT_TABと名付けられた表に記録されます。

次のメソッドが、クラスoracle.spatial.rdf.client.jena.OracleQueryProgressMonitorに追加されて、ユーザーはORACLE_ORARDF_QUERY_MGT_TAB表のエントリの問合せ、追加および削除が可能になります。これらのメソッドの詳細は、Javadoc (javadoc.zipは、リリースzipファイルのjavadoc/ディレクトリ下にあります)を参照してください。

addQuery
deleteAllQueries
deleteQuery
listQueries

Apache TomcatおよびJBossアプリケーション・サーバーのサポート

サポートは、Oracle WebLogicサーバーに加えて、Apache TomcatおよびJBossサーバーのJosekiデプロイメントに提供されています。詳細は、「Apache TomcatまたはJBossにおけるJosekiのデプロイ」を参照してください。

Fuseki 1.0.1のサポート

HTTPでRDFデータを取得するためのFuseki 1.0.1の使用がサポートされています。

詳細は、「FusekiベースSPARQLサービスの構成」を参照してください。