2.2 Interoperabilidade de Dados
2.2.1 Heterogeneidade de Dados
As fontes de dados podem ser distintas em trˆes formas: em sintaxe, em esquema e em semˆantica. Sintaxe ´e quando s˜ao usados diferentes modelos ou linguagens; esquema ´e o resultado de diferen¸cas estruturais, quando o modelo nativo ou estrutura do dado arma- zenado ´e diferente nas diversas fontes; e semˆantica ´e quando existe diferentes significados ou interpreta¸c˜oes dos dados em v´arios contextos (Cruz e Xiao, 2005).
Em Inc. (2012), os autores declaram que, ao compartilhar um arquivo ou dados em uma rede, existem dois tipos de problema: o primeiro ´e ser capaz de ler os dados – traduzir a s´erie de bytes em dados l´ogicos – e a segunda ´e fazer algo inteligente com esses dados. O XML (Extensible Markup Language) ´e um modo de codificar a informa¸c˜ao para que, quando ela seja transmitida entre diversas m´aquinas, possa ser lida e analisada. A populariza¸c˜ao do formato se deu inclusive devido a pr´evia existˆencia de muitos tipos de formatos. Antigamente um arquivo s´o podia ser lido e gravado em um ´unico sistema, aquele no qual foi criado. XML ajudou ent˜ao a criar uma plataforma que resolve a heterogeneidade sint´atica (Inc., 2012; Cruz e Xiao, 2005).
2.2 INTEROPERABILIDADE DE DADOS 17
No entanto, heterogeneidade de esquema ainda podem ocorrer dependendo do XML- Schema usado. XML-Schema (W3C, 2012b) ´e uma recomenda¸c˜ao da W3C e especifica como formalmente descrever a estrutura e cont´eudo de um documento XML. Um XSD (XML Schema Definition) pode ser usado para verificar cada parte de um cont´eudo em um documento XML e tamb´em para expressar um conjunto de regras que esse documento deve seguir para se tornar v´alido segundo seu esquema. Os tipos de dados suportados pelo XML-Schema disponibilizam uma forma de especificar um modelo hierarquicamente, no entanto, n˜ao existem construtores expl´ıcitos definindo classes ou propriedades e desse modo ambiguidades ainda podem surgir (Cruz e Xiao, 2005).
Cruz e Xiao (2005) afirmam que para conseguir interoperabilidade de dados ´e preciso lidar com os problemas de heterogeneidade e destacam que a heterogeneidade semˆantica pode acontecer mesmo se uma compatibilidade na sintaxe e no esquema existirem.
A pr´opria W3C (W3C, 2004) esclarece as diferen¸cas entre XML-Schema e um modelo semˆantico, nesse caso representado pela OWL. Segundo (W3C, 2004) OWL ´e uma repre- senta¸c˜ao de conhecimento e n˜ao um formato de mensagem, e completam que a maioria dos padr˜oes Web da ind´ustria s˜ao uma combina¸c˜ao de formatos de mensagens e especi- fica¸c˜oes de protocolos a qual ´e dada semˆantica operacional, mas cuja defini¸c˜ao n˜ao oferece suporte a racioc´ınio fora do contexto transacional.
Dentre algumas limita¸c˜oes dos XML-Schema ´e poss´ıvel citar (Gil e Ratnakar, 2002; Amorim et al., 2006):
Rela¸c˜ao de hierarquia (is-a) entre dois ou mais conceitos n˜ao pode ser definida explicitamente. Dessa forma, n˜ao h´a mecanismo de heran¸ca para facilitar a repre- senta¸c˜ao das taxonomias. A Figura 2.3 apresenta a taxonomia do conceito Report e os C´odigos 2.1 e 2.2 demonstram as especifica¸c˜oes em XML-Schema e OWL. Em OWL a hierarquia entre Report e os cinco tipos de relatos espec´ıficos ´e definida explicitamente atrav´es da propriedade rdfs:subClassOf, assim, todos os atributos de Report s˜ao herdados por todas as suas subclasses. No XML-Schema, os atribu- tos de cada um dos tipos de relato s˜ao adicionados diretamente e nenhuma rela¸c˜ao de hierarquia ´e estabelecida entre eles.
Propriedades das rela¸c˜oes n˜ao podem ser definidas: XML-Schema n˜ao permite re- presentar propriedades matem´aticas (como sim´etrica e transitiva) ou propriedades de taxonomia (como disjun¸c˜ao e parti¸c˜oes exaustivas) nas rela¸c˜oes. Por exemplo, na Figura 2.3, os tipos espec´ıficos de relatos s˜ao conceitos disjuntos, ou seja, se um indiv´ıduo pertencer a uma dessas classes, ele n˜ao poder´a ser tamb´em indiv´ıduo de outra classe. Essas particularidades podem ser expressas em OWL, como no C´odigo 2.2, atrav´es da declara¸c˜ao owl:disjointWith.
Restri¸c˜oes formais entre conceitos, atributos e rela¸c˜oes tamb´em n˜ao podem ser espe- cificados em XML-Schema, enquanto que no OWL, a linguagem SWRL (Semantic Web Rule Language) pode ser utilizada para esse fim.
Figura 2.3: Taxonomia do conceito Report - EDXL-Sitrep. Fonte: (OASIS, 2013c)
C´odigo 2.1: Trecho do XML-Schema do Padr˜ao EDXL-Sitrep
<xs:complexType name=”SitRep”> <xs:sequence>
<xs:element name=”ReportNumber”
type=”ct:EDXLStringType”
minOccurs=”1”maxOccurs=”1”/>
<xs:element name=”Report”type=”IReport”
minOccurs=”1”maxOccurs=”1”/> </xs:sequence> </xs:complexType> <xs:complexType name=”CasualtyAndIllnessSummary”> <xs:complexContent>
<xs:extension base=”IReport”> <xs:sequence>
<xs:element name=”SummaryCount”
type=”CasualtyAndIllnessCategory”
minOccurs=”0”maxOccurs=”unbounded”
/>
<xs:element name=”NotifiableDiseaseNumbers”
type=”NotifiableDiseaseNumbers”
minOccurs=”0”maxOccurs=”unbounded”
/>
</xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
C´odigo 2.2: Trecho do OWL da ontologia EDXL-Sitrep
<owl:Class rdf:about=”&sitrep;Report”> <owl:DatatypeProperty
rdf:about=”&sitrep;reportNumber”> <rdf:type rdf:resource =”&owl;Functional Property”/>
<rdfs:domain rdf:resource=”&sitrep;Report”/> <rdfs:range rdf:resource =”&xsd;string”/> </owl:DatatypeProperty>
... ...
</owl:Class>
<owl:Class rdf:about=”&sitrep;CasualtyAndIllness SummaryReport”>
<rdfs:subClassOf rdf:resource=”&sitrep;Report”/> <owl:disjointWith
rdf:resource =”&sitrep;FieldObservation Report”/>
<owl:disjointWith rdf:resource=”&sitrep;Management ReportingSummaryReport”/> <owl:disjointWith rdf:resource=”&sitrep;ResponseResources TotalsReport”/> <owl:disjointWith rdf:resource=”&sitrep;SituationInformation Report”/> </owl:Class>
Na literatura encontram-se v´arios trabalhos e ferramentas para mapeamento entre XML-Schema e OWL, como a XSD2OWL (Garc´ıa-Gonz´alez et al., 2009), X2OWL (Ghawi e Cullot, 2009) e a XS2OWL (Tsinaraki e Christodoulakis, 2007). Essa transforma¸c˜ao segue um esquema de tradu¸c˜ao onde um construtor XML-Schema vira um construtor OWL correspondente. No entanto, essa transforma¸c˜ao ´e apenas parcial e faz-se necess´aria a adi¸c˜ao de informa¸c˜ao semˆantica em um segundo passo feito manualmente.
2.2 INTEROPERABILIDADE DE DADOS 19