ここでは、エンティティのリスト、追加、削除および検証リクエストの例を示します。
<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 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> <semanticEntity key="Sales" displayName="Sales Data" isActive="true"> ... </semanticEntity> </validateEntity>リクエストの検証が成功した場合、validateEntityResponseにエラーは含まれません。
エンティティを1つ追加するにはputEntity操作を使用し、複数追加するにはputEntitiesを使用します。
<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>
<putEntityResponse xmlns="http://www.endeca.com/endeca-server/sconfig/2/0"> <entityAdditionInformation numEntitiesAdded="1" numEntitiesReplaced="0"/> </putEntityResponse>
ベース・エンティティは追加または置換できません。
<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>
ベース・エンティティは削除できません。