Otipo decontentoréumdostiposdematrizou listaincorporadosnaestruturade análisecomum.Omapeamento dotipode contentoréumaformade mapeamento de valoresde matrizoulista paraumabasede dadosrelacional.
Existemduasabordagensparaprocessartiposde contentornoficheirode mapeamento daestruturadeanálisecomumparaa basededados.Ummétodo utilizaa construçãodafuncionalidadeincorporadadefinidaeumatabelade ligaçãogenéricaquecontémmatrizesoulistasquesãovaloresdeumaregrade mapeamento dafuncionalidade.Àmedidaquediferentesmatrizesoulistassão armazenadasnamesma tabeladeligação,a tabelanão dáqualquerindicaçãosobre a relaçãodasinformaçõesarmazenadas.
Nosegundométodo,a definiçãodatabeladeligaçãoqueédefinidautilizandoum elemento<containerMapping>denotaexplicitamentearelaçãoentreasinformações especificadas pretendidas.
Umexemplodopossível aspectodeum mapeamentodetabeladeligaçãogenérica é apresentadodeseguida.Existeumarelaçãon:mentreosrelatóriospoliciaiseas pessoassuspeitas,oquesignificaqueumsuspeitopode sermencionadoemmais do querelatóriopolicialeum relatóriopolicialpode mencionarmais doqueum suspeito.
Atabelagenéricaamostra.fsarraynoexemploéatabeladeligaçãoentreos relatórios policiaiseossuspeitos.Seexistiroutrotipodemapeamento paraalém de com.ibm.omnifind.types.RelatórioPolicialcomumafuncionalidadedotipo com.ibm.omnifind.types.FSArray,tambémémapeadoparaestatabela. Pode mesmo assimconsultaratabelaparaarelaçãoentreumrelatóriopolicialeum suspeito correctamente,noentanto,nãopode concluir,simplesmenteolhandopara a tabela,quecontémarelaçãoouligaçãoentreosrelatórios policiaisepossíveis suspeitos.
<cas2JdbcMappings>
<explicitMappings>
<explicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.RelatórioPolicial</type>
<table>sample.RelatórioPolicial</table>
<featureMappings>
<featureMapping>
<feature>uniqueId()</feature>
<column>IDRelatórioPolicial</column>
</featureMapping>
<featureMapping>
<feature>suspeitosConhecidos/uniqueId()</feature>
<column>IDmatrizSuspeito</column>
</featureMapping>
<featureMapping>
<feature>location/nomeCidade</feature>
<column>cidade</column>
</featureMapping>
</featureMappings>
</explicitMappingRule>
</explicitMappings>
<implicitMappings>
<implicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.Suspeito</type>
<table>sample.suspeito</table>
<featureMappings>
</implicitMappingRule>
<implicitMappingRule applyToSubtypes="false">
<type>uima.cas.FSArray</type>
<table>sample.fsarray</table>
<featureMappings>
<featureMapping>
<feature>uniqueId()</feature>
<column>arrayId</column>
</featureMapping>
<featureMapping>
<feature>[:index]</feature>
<column>arrayIndex</column>
</featureMapping>
<featureMapping>
<feature>[]/uniqueId()</feature>
<column>IDsuspeito</column>
</featureMapping>
</featureMappings>
</implicitMappingRule>
</implicitMappings>
</cas2JdbcMappings>
Aseguirsãomostradasastabelasdebasesdedados baseadasnasregrasgenéricas de mapeamentoacimaindicadas.
Tabela4.Atabelaamostra.RelatórioPolicial
IDRelatórioPolicial IDmatrizSuspeito cidade
aaa...1 bbb...1 Sines
aaa...2 bbb...2 Lagos
Tabela5.Atabelaamostra.fsarray
arrayId arrayIndex IDsuspeito
bbb...1 1 ccc...1
bbb...1 2 ccc...2
bbb...2 1 ccc...3
Tabela6.Atabelaamostra.suspeito
IDsuspeito apelido descrição
ccc...1 Barreto Compleiçãoescura
ccc...2 Silva Usaóculos
... ... ...
Oexemplomostraomapeamento paraasmatrizesdaestruturafuncional.Pode aplicar estetipo demapeamentotambém aStringArray,IntegerArray,eFloatArray.
Seincluir asregrasde mapeamentoparaestasmatrizesdevalor simples,substitua []/uniqueId() por[].
Podeserutilizadaamesma abordagemdatabelagenéricaparalistasde estruturas funcionais,bemcomoparalistasde tipossimples(StringList, IntegerListe
FloatList).
Uma formamais simplesdeprocessarrelaçõesconsisteem utilizarum elemento de mapeamentodecontentor explícitoquedefinea iteraçãoentreoselementos contidos nasmatrizesoulistas.
Umexemplodemapeamento quedenotaumatabelade ligaçãoexplícitaé apresentado deseguida.Novamente, existeumarelaçãon:mentreosrelatórios
policiais easpessoassuspeitas.Noentanto,destavez,a tabela
amostra.relatórios_suspeitoséa tabelade ligaçãoentreosrelatórios policiaise aspessoassuspeitas.
Nesta abordagem,não temdesepreocuparcomoprocessamentodeIDsdematriz nem comomapeamentodeentradas decabeçaoucaudaparaostiposdelista.A tabeladeligaçãocontémumarelaçãoexplícita.
<cas2JdbcMappings>
<explicitMappings>
<explicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.RelatórioPolicial</type>
<table>sample.RelatórioPolicial</table>
<featureMappings>
<featureMapping>
<feature>uniqueId()</feature>
<column>IDRelatórioPolicial</column>
</featureMapping>
<featureMapping>
<feature>location/nomeCidade</feature>
<column>cidade</column>
</featureMapping>
<featureMapping>
<feature>suspeitosConhecidos</feature>
<containerMapping>
<table>sample.relatórios_suspeitos</table>
<featureMapping>
<feature>suspeitosConhecidos/[]/objectId()</feature>
<column>IDsuspeito</column>
</featureMapping>
</containerMapping>
</featureMapping>
</featureMappings>
</explicitMappingRule>
</explicitMappings>
<implicitMappings>
<implicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.Suspeito</type>
<table>sample.suspeito</table>
<featureMappings>
</implicitMappingRule>
</implicitMappings>
</cas2JdbcMappings>
Umelemento<containerMapping>éutilizadoparadefiniraiteraçãoentreos elementos contidosnamatriz.Noexemplo,a tabelade ligação
amostra.relatórios_suspeitoscontémumaligaçãoparaascolunas IDRelatórioPolicial eIDsuspeito.Nãoimbriqueoselementos
<containerMapping>.
Aseguirsãomostradasastabelasdebasesdedados baseadasnasregrasexplícitas de mapeamentodatabelade ligação.
Tabela7.Atabelaamostra.RelatórioPolicial
IDRelatórioPolicial cidade
aaa...1 Sines
aaa...2 Lagos
Tabela8.Atabelaamostra.relatórios_suspeito
IDRelatórioPolicial IDsuspeito
bbb...1 ccc...1
bbb...2 ccc...2
... ...
Tabela9.Atabelaamostra.suspeito
IDsuspeito apelido descrição
ccc...1 Barreto Compleiçãoescura
ccc...2 Silva Usaóculos
... ... ...
Referênciasrelacionadas
“Funcionalidadesincorporadas”napágina39
Asfuncionalidadesincorporadassãonomesdefuncionalidadepredefinidos comsemânticaespecial.Podemser utilizadasparaacederainformaçõesque nãoestãocontidasnaestruturafuncionalemsi, porexemplo,o tipode estruturafuncional ouotextoabrangidodeumaanotação.Podemser
utilizadasnumcaminhodefuncionalidadecomooúltimoouúnicoelemento.