メタデータの提供

OData サービスでは、Denodo データベースに関するメタデータを使用して、以下に示す 2 つのタイプのドキュメントが生成されます。

  1. サービスドキュメント: データサービスで提供されるすべてのエンティティが一覧表記されています。情報の取得元であるデータベースの名前を指定した、サービスのルート URI (/denodo-odata.svc/<database name>) にあります。

    movies データベースのアクセス可能なコレクションが actoraddresscitycountryfilm 、および film_actor である場合の例を以下に示します。

    http://localhost:9090/denodo-odata4-service/denodo-odata.svc/movies

    {
      "@odata.context": "/denodo-odata.svc/movies/$metadata",
      "value": [
        {
          "name": "actor",
          "url": "actor"
        },
        {
          "name": "address",
          "url": "address"
        },
        {
          "name": "city",
          "url": "city"
        },
        {
          "name": "country",
          "url": "country"
        },
        {
          "name": "film",
          "url": "film"
        },
        {
          "name": "film_actor",
          "url": "film_actor"
        }
      ]
    }
    
  2. サービスメタデータドキュメント: エンティティデータモデル (EDM) とも呼ばれます。サービスで公開されているデータモデルの XML 表現です。 .../$metadata にあります。

    以下に例を示します。

    http://localhost:9090/denodo-odata4-service/denodo-odata.svc/movies/$metadata

    0 個以上の city エレメントとのリレーションシップを持つ country エンティティの例:

       <EntityType Name="country">
          <Key>
              <PropertyRef Name="country_id"/>
          </Key>
          <Property Name="country_id" Type="Edm.Int16"
                    Nullable="false"/>
          <Property Name="country" Type="Edm.String"
                    MaxLength="50"/>
          <Property Name="last_update" Type="Edm.DateTimeOffset"
                    Precision="19"/>
          <NavigationProperty Name="cities"
                       Type="Collection(com.denodo.odata4.city)"
                       Partner="country">
              <ReferentialConstraint Property="country_id"
                       ReferencedProperty="country_id"/>
          </NavigationProperty>
       </EntityType>
    

このサービスでは、OData の構造が Virtual DataPort の概念に以下のように対応付けられます。

Denodo OData のサービス

Virtual DataPort

エンティティタイプ

ビューの定義

エンティティタイプ > プロパティ

ビューの列

エンティティタイプ > ナビゲーションプロパティ

アソシエーションのロール

リレーションシップ

アソシエーションの定義

エンティティセット

ビューのデータ

インポートした関数

-