Evlilik Dışı İlişkide Birlikte Velâyet Modeli Hakemli Makale
B. Evlilik Birliğinin Sona Ermesi Halinde
II. Çocuğun Yüksek (Üstün) Yararı İlkesi Doğrultusunda Boşanmada ve Evlilik Dışı İlişkide Birlikte Velâyet
XML é baseado em um modelo hierárquico: cada elemento XML pode conter um valor textual ou outro elemento filho. Isto é, as associações entre elementos são especificadas através da hierarquia. Além disso, elementos XML podem conter atributos. Um atributo é um par nome-valor em que informações descritivas sobre o elemento são armazenadas [Harold01].
As propriedades de um documento XML podem ser restritas através de regras especificadas. Por exemplo, a cardinalidade de elementos filhos é uma importante propriedade porque tem um efeito direto na ocorrência de falsos positivos quando utilizada uma técnica de indexação de caminhos simples. Baseado no exemplo ilustrado na Figura 15, Editora, Livro e Autor são três conceitos expressados através de elementos relacionados de mesmo nome. A Figura 15 ilustra diferentes casos de restrições de regras de cardinalidade.
a Editora Livro Autor 1 1 b Editora Livro Autor 1..* 1
Figura 15: Regras de cardinalidade
Na Figura 15a, cada Editora deve publicar somente um único Livro, o qual por vez deve ter exatamente um único Autor. Neste caso, uma técnica de indexação baseada em caminhos simples não gera falsos positivos.
Por outro lado, na Figura 15b, cada Editora pode ter vários Livros publicados, e cada Livro deve ter um único Autor. Neste caso, levando em conta que cada editora tem vários livros publicados, adotando uma técnica de indexação baseada em caminhos simples não é possível saber quais são precisamente as Editoras que publicam um determinado Livro escrito por um determinado Autor (ocasionado pelo problema discutido na Seção 2.1.2). A fim de tratar este problema, é necessário indexar as relações de cardinalidade entre os elementos (juntamente com respectivas informações dos atributos que pertencem a cada elemento).
A técnica BranchGuide obtém proveito da indexação de uma bem definida classe de caminhos com ramificação. Este conjunto de caminhos selecionados captura as relações de cardinalidade entre elementos juntamente com as informações dos atributos pertencentes a cada elemento. Mais especificamente, o padrão de seleção de caminhos é formalmente
especificado através do uso da notação XPath [W3C99] e é dada pela expressão regular mostrada na Figura 16, que representa uma navegação de caminho composta por uma ilimitada sequência de elementos XML, em que cada um pode conter no máximo um dado atributo XML com respectivo valor.
Figura 16: Padrão de seleção de caminhos proposto
Deve ser notado que o padrão de seleção de caminhos P permite que todos os caminhos simples e um conjunto substancial de caminhos com ramificação sejam selecionados para indexação. Sendo assim, o padrão permite selecionar caminhos mais expressivos do que caminhos simples.
Por exemplo, o padrão de seleção P permite selecionar tanto caminhos simples tais como p1 e p2 (mostrados na Figura 17), bem como, o caminho com ramificação p3 (mostrado
na Figura 17). A seleção do caminho com ramificação p3 possibilita que as dependências entre
o elemento XML Livro com nome “Hamlet” e o elemento XML Autor com nome “Shakespeare” sejam individualmente indexadas.
Figura 17: Exemplos de caminhos selecionados
A próxima seção detalha como os caminhos que satisfazem o padrão de seleção P são extraídos a partir da fonte de dados e indexados utilizando a técnica BranchGuide.
3.2 Indexação
A técnica BranchGuide adota um índice de mapeamento de caminhos com ramificação, que satisfazem o padrão de seleção P, para um conjunto de identificadores de documentos nos quais ocorrem um dado caminho indexado. A entrada do índice é expressa através de uma consulta por um determinado caminho procurado.
A fim de apresentar formalmente a técnica de indexação proposta, uma notação baseada em grafos é adotada. Uma fonte de dados indexada é representada pelo grafo de índice G’ = (V, E, rótulo, valor, tipo, RAIZ), no qual RAIZ é a raiz de G’. O conjunto de vértices de G’ é representado por V e o conjunto de arestas é representado por E. Cada vértice
P = (/elemento([@atributo=“valor”])0..1)+
p1 = /editora/livro[@nome=“Hamlet”]
p2 = /editora/livro/autor[@nome=“Shakespeare”]
pode representar um elemento ou atributo XML. Com isto, a função tipo mapeia cada vértice de V para exclusivamente um dos seguintes tipos: atributo ou elemento.
Por sua vez, a função rótulo mapeia cada aresta de E para o nome de um respectivo elemento ou atributo XML.
Já a função valor é uma função que mapeia cada vértice v ∈ V para uma lista de identificadores de documentos. Formalmente, cada caminho é uma sequência de vértices ligados a partir do vértice RAIZ terminando em um dado vértice v ∈ V. Como o último vértice de um caminho nunca aparece como último vértice de qualquer outro caminho, então, cada caminho é diretamente associado ao seu último vértice. Assim, para uma determinada lista l de identificadores de documentos mapeada pela função valor: v → l temos que o caminho formado a partir do vértice RAIZ até o vértice v ocorre em todos os documentos listados pela a lista l de identificadores de documentos.
Vale ressaltar que, para cada identificador de documento, a técnica de indexação possibilita associar informações auxiliares dependentes do modelo de recuperação adotado. Estas informações auxiliares podem ser utilizadas na recuperação de documentos. Em outras palavras, a técnica possibilita que informações adicionais sejam armazenadas, e a função valor é definida para permitir este ponto de extensão.
Adicionalmente, através da função valor, se o vértice é um atributo XML ou um elemento XML com valor textual, dentre as informações mapeadas por valor também estão contidos o valor textual do elemento ou textual do atributo.
Perceba que, enquanto a função rótulo mapeia as informações das arestas (E), a função valor mapeia as informações dos vértices (V).
A fim de indexar caminhos com ramificação que conformam com o padrão de seleção de caminhos P, a técnica de indexação proposta gera o grafo de índice G’ a partir da fonte de documentos. Em G’, todo caminho indexado é representado exatamente uma única vez e não existe nenhum caminho replicado no grafo.
Para exemplificar a extração de caminhos, considere a seguinte fonte de dados composta por documentos descrevendo o catálogo de livro de editoras, como ilustrado na Figura 18. A técnica BranchGuide gera o grafo de índice G’ ao aplicar em sequência as seguintes regras sob os documentos da fonte de dados:
Documento 1: <editora nome=“SparkNotes”> <livro nome=“Hamlet"> <autor nome="Shakespeare"/> </livro> </editora> Documento 2: <editora nome=“Simon&Schuster”> <livro nome=“Hamlet"> <autor nome="Shakespeare"/> </livro> <livro nome=“Othello"> <autor nome="Shakespeare"/> </livro> </editora>
Figura 18: Um exemplo de fonte de dados
Regra I: Cada caminho extraído a partir de um documento consiste de uma sequência