ここでは、エンティティのリスト、追加、削除および検証リクエストの例を示します。
<listEntities> <language>en</language> </listEntities>
<ns3:listEntitiesResponse xmlns:ns2="http://www.endeca.com/MDEX/eql_parser/types"
xmlns:ns3="http://www.endeca.com/endeca-server/sconfig/3/0">
<ns3:validatedSemanticEntity isValid="true" key="SalesTrans" displayName="Sales Transaction" isActive="true">
<ns3:definition>DEFINE SalesTrans AS
SELECT FactSales_SalesAmount AS SalesAmount,
DimReseller_ProductLine AS ProductLine</ns3:definition>
<ns3:description>Sales transaction information</ns3:description>
<ns3:attributes>
<ns3:semanticAttribute name="SalesAmount" displayName="Sales Amount" datatype="mdex:double"
isDimension="false" isKeyColumn="true" description="Amounts">
<ns3:property key="locale">EN</ns3:property>
</ns3:semanticAttribute>
<ns3:semanticAttribute name="ProductLine" displayName="Product Line" datatype="mdex:string"
isDimension="true" isKeyColumn="false" description="prod"/>
<ns3:semanticAttribute name="SaleOrderNumber" displayName="Sale Number" datatype="mdex:string"
isDimension="false" isKeyColumn="false" description="Orders"/>
</ns3:attributes>
<ns3:metrics>
<ns3:metric name="TotalSales" displayName="Total Sales" datatype="mdex:double" description="Totals">
<ns3:definition>sum(SalesAmount)</ns3:definition>
<ns3:property key="currency">$</ns3:property>
</ns3:metric>
<ns3:metric name="AvgSales" displayName="Average Sales" datatype="mdex:double" description="Averages">
<ns3:definition>avg(SalesAmount)</ns3:definition>
</ns3:metric>
</ns3:metrics>
<ns3:groups/>
<ns3:property key="SalesArea">North America</ns3:property>
<ns3:parsedDefinition>
<ns2:statements returnTable="false" statementKey="SalesTrans">
<ns2:selects attributeKey="SalesAmount">
<ns2:expression xsi:type="ns2:AttributeRefExpression" attributeKey="FactSales_SalesAmount"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns2:selects>
<ns2:selects attributeKey="ProductLine">
<ns2:expression xsi:type="ns2:AttributeRefExpression" attributeKey="DimReseller_ProductLine"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns2:selects>
</ns2:statements>
</ns3:parsedDefinition>
</ns3:validatedSemanticEntity>
</ns3:listEntitiesResponse>
validatedSemanticEntity要素のisValid属性は、エンティティが正常に検証されたかどうかを示します。
エンティティに依存関係がある場合は、dependentEntities要素にその依存関係がリストされます。
エンティティを追加する前に、エンティティ定義内のEQL文の構文を検証することが有用です。
エンティティを検証するには、validateEntity (単一エンティティを検証)またはvalidateEntities (複数エンティティの検証が可能)のいずれかでリクエストを発行します。どちらの操作でも、semanticEntity要素内でエンティティを指定します。エンティティは、アクティブか非アクティブかにかかわらず、検証されることに注意してください。
<validateEntity> <semanticEntity key="Sales" displayName="Sales Data" isActive="true"> ... </semanticEntity> </validateEntity>リクエストの検証が成功した場合、validateEntityResponseにエラーは含まれません。エンティティの検証が失敗した場合、エンティティ・レコードのisValidフラグが(その前の設定に関係なく)falseに設定されることに注意してください。
エンティティを1つ追加するにはputEntity操作を使用し、複数追加するにはputEntitiesを使用します。
<putEntity xmlns="http://www.endeca.com/endeca-server/sconfig/3/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/3/0"> <entityAdditionInformation numEntitiesAdded="1" numEntitiesReplaced="0"/> </putEntityResponse>
<deleteEntities xmlns="http://www.endeca.com/endeca-server/sconfig/3/0"> <semanticEntityKey key="SalesInfo"/> </deleteEntities>レスポンスは、削除されたエンティティの数を示します。
<deleteEntitiesResponse xmlns="http://www.endeca.com/endeca-server/sconfig/3/0"> <numEntitiesDeleted>1</numEntitiesDeleted> </deleteEntitiesResponse>