エンティティ・リクエストのサンプル

ここでは、エンティティのリスト、追加、削除および検証リクエストの例を示します。

エンティティのリスト

次のリクエスト例は、集成に存在するすべてのエンティティをリストします。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <listEntities xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
      </listEntities>
   </soapenv:Body>
</soapenv:Envelope>
このリクエストのリスポンスは、すでに追加されているエンティティのリスト(ベース・エンティティを含む)を返します。次の省略されたlistEntitiesResponseでは、エンティティ・リストのサンプルを示します。
<listEntitiesResponse xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
   <semanticEntity key="Employees" displayName="Employees" isActive="true">
      ...
   </semanticEntity>
   <semanticEntity key="Products" displayName="Products" isActive="true">
      ...
   </semanticEntity>
   <semanticEntity key="Transactions" displayName="Transactions" isActive="true">
      ...
   </semanticEntity>
   <semanticEntity key="Base" displayName="Base" isActive="true">
      <definition>DEFINE Base AS SELECT "Class" AS "Class", ...</definition>
      <attributes>
         <semanticAttribute name="Class" displayName="Class" datatype="mdex:string" 
            isDimension="true" isKeyColumn="false"/>
         ...
         <semanticAttribute name="WeightUnitMeasureCode" displayName="WeightUnitMeasureCode" 
            datatype="mdex:string" isDimension="true" isKeyColumn="false"/>
      </attributes>
      <metrics/>
      <groups/>
   </semanticEntity>
</listEntitiesResponse>

エンティティの検証の例

エンティティを追加する前に、エンティティ定義内のEQL文の構文を検証することが有用です。

エンティティを検証するには、validateEntity (単一エンティティを検証)またはvalidateEntities (複数エンティティの検証が可能)のいずれかでリクエストを発行します。どちらの操作でも、semanticEntity要素内でエンティティを指定します。エンティティは、アクティブか非アクティブかにかかわらず、検証されることに注意してください。

次の省略された例でvalidateEntityリクエストを示します。
<validateEntity>
   <semanticEntity key="Sales" displayName="Sales Data" isActive="true">
   ...
   </semanticEntity>
</validateEntity>
リクエストの検証が成功した場合、validateEntityResponseにエラーは含まれません。

エンティティの追加

エンティティを1つ追加するにはputEntity操作を使用し、複数追加するにはputEntitiesを使用します。

次の省略された例の場合、putEntity操作は、1つのエンティティSales (メトリックはTotalSalesAvgSalesの2つ)を追加するリクエストで使用されます。
<putEntity xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
<semanticEntity key="Sales" displayName="Sales Data" isActive="true">
<definition>
   DEFINE Sales AS SELECT FactSales_SalesAmount 
   AS SalesAmount, DimReseller_ProductLine AS ProductLine, 
   DimSalesTerritory_SalesTerritoryCountry AS SalesTerritoryCountry, 
   DimDate_FiscalYear AS FiscalYear, 
   FactSales_SalesOrderNumber AS SaleOrderNumber
</definition>
<description>Sales territorial information</description>
<attributes>
	<semanticAttribute name="SalesAmount" displayName="Sales Amount" datatype="mdex:double" 
   isDimension="false" isKeyColumn="true"/>
	<semanticAttribute name="ProductLine" displayName="Product Line" datatype="mdex:string" 
 isDimension="true" isKeyColumn="true"/>
	<semanticAttribute name="SalesTerritoryCountry" displayName="Sales Territory Country" 
 datatype="mdex:string" isDimension="true" isKeyColumn="false"/>
	<semanticAttribute name="FiscalYear" displayName="Year" datatype="mdex:int" 
 isDimension="true" isKeyColumn="false"/>
	<semanticAttribute name="SaleOrderNumber" displayName="Sale Order Number" 
 datatype="mdex:string" isDimension="false" isKeyColumn="false"/>
</attributes>
<metrics>
  <metric name="TotalSales" displayName="Total Sale" datatype="mdex:double">
    <definition>sum(SalesAmount)</definition>
  </metric>
  <metric name="AvgSales" displayName="Average Sale" datatype="mdex:double">
    <definition>avg(SalesAmount)</definition>
  </metric>
</metrics>
<groups/
</semanticEntity>
</putEntity>
エンティティ構成Webサービスからのレスポンスの省略された例は、作成または置換されたエンティティの数を通知します。
<putEntityResponse xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
  <entityAdditionInformation numEntitiesAdded="1" numEntitiesReplaced="0"/>
</putEntityResponse>

ベース・エンティティは追加または置換できません。

エンティティの削除

個々の(1つ以上の)カスタム・エンティティを削除するには、次の例のように、削除するエンティティのキーを指定するdeleteEntities操作を使用します。
<deleteEntities xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
   <semanticEntityKey key="SalesInfo"/>
</deleteEntities>
レスポンスは、削除されたエンティティの数を示します。
<deleteEntitiesResponse xmlns="http://www.endeca.com/endeca-server/sconfig/2/0">
   <numEntitiesDeleted>1</numEntitiesDeleted>
</deleteEntitiesResponse>

ベース・エンティティは削除できません。