This topic includes examples of requests for listing, adding, deleting, and validating entities.
<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>
Before adding an entity, it is useful to validate the syntax of the EQL statements in the entity definition.
To validate an entity, issue a request either with validateEntity (which validates a single entity) or with validateEntities (which can validate multiple entities). With both operations, you specify the entities inside the semanticEntity elements. Note that the entity is validated regardless of whether it is active or inactive.
<validateEntity> <semanticEntity key="Sales" displayName="Sales Data" isActive="true"> ... </semanticEntity> </validateEntity>If the request validates successfully, validateEntityResponse does not contain errors.
You can add one entity using a putEntity operation, or add multiple entities using 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>
You cannot add or replace the Base entity.
<deleteEntities xmlns="http://www.endeca.com/endeca-server/sconfig/2/0"> <semanticEntityKey key="SalesInfo"/> </deleteEntities>The response indicates the number of entities deleted:
<deleteEntitiesResponse xmlns="http://www.endeca.com/endeca-server/sconfig/2/0"> <numEntitiesDeleted>1</numEntitiesDeleted> </deleteEntitiesResponse>
You cannot delete the Base entity.