• No results found

Forholdet til påberopte grunnlag ved innsigelse og administrativ

O grupo de trabalho da W3C para regras59 foca principalmente em fornecer um formato intercambiável de regras (RIF - Rule Interchance Format) do que uma única linguagem para a Web Semântica. Os esforços desse grupo geraram a especificação da SPARQL.

Outra linguagem de especificação de regras é a RuleML. RuleML fornece um conjunto de linguagens de marcação para representar e intercambiar diferentes tipos de regras (STOILOS et al. 2006).

Já a linguagem SWRL60 de nosso interesse direto, é baseada em uma combinação

das sub-linguagens OWL (nas versões OWL DL e OWL Lite) com a sub-linguagem RuleML (Rule Markup Language).

A descrição da SWRL submetida ao W3C61 informa-nos que a SWRL não suporta

OWL Full diretamente, pois não suporta classificação direta sobre classes ou propriedades. Isto é, constructos OWL Full tais como valores de classes, ou de propriedades não são suportados pela linguagem. Não podemos escrever uma regra que, por exemplo, deduza algum novo conhecimento baseado no fato que uma classe é uma subclasse direta de outra.

Deve ser notado que as garantias formais fornecidas por OWL e SWRL podem ser perdidas se essas extensões são usadas para deduzir novo conhecimento. Idealmente, tais recursos incorporados somente devem ser usados para consultas na ontologia. Na guia SWRL, por exemplo, essas bibliotecas incorporadas foram projetadas para serem usadas com a linguagem de consulta SQWRL62.

Entretanto, de outro lado, implementações da SWRL, ativadas via plug-ins através de habilitação de guias em editores de ontologias, de tem duas extensões customizadas que suportam o uso de nomes de classe OWL, nomes de propriedades, nomes de indivíduos e tipos de definição de esquema XML (XSD) como argumentos embutidos. Com essas extensões, recursos incorporados podem ser definidos de modo a suportar operações OWL Full. Por exemplo, a guia SWRL fornece uma biblioteca que contém o TBox incorporado.

As regras são da forma de uma implicação entre um antecedente (corpo) e consequente (cabeça). O significado pretendido pode ser lido como: sempre que as condições especificadas no antecedente forem verdadeiras, então as condições especificadas no consequente deve também ser verdadeiras.

60 Vide a submissão original de 21 de maio de 2004, http://www.w3.org/Submission/2004/SUBM-

SWRL-20040521/ e a última versão:http://www.w3.org/Submission/SWRL/. Ver também:

http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ e o tutorial desenvolvido por Martin Kuba, 2012, em http://dior.ics.muni.cz/~makub/owl/.

61 Vide: http://www.w3.org/Submission/SWRL/.

62 Semantic Query-Enhanced Web Rule Language; pronúncia-se em inglês squirre. Vide:

Um exemplo simples de regras SWRL e de sua aplicação é a da implicação da propriedade Tio.

temPais(?x1,?x2) ∧ temIrmao(?x2,?x3) ⇒ temTio(?x1,?x3)

Predicados SWRL

Em SWRL, os símbolos predicados podem incluir classes OWL, propriedades ou tipos de dados. Argumentos podem ser indivíduos OWL ou tipos de dados, ou variáveis referindo-se a eles. Todas as variáveis em SWRL são tratadas como universalmente quantificadas, com seu escopo limitado a uma dada regra. Deve-se observar que SWRL não suporta a negação de proposições atômicas, ou disjunção. Mais detalhadamente, os predicados e, SWRL podem ser:

• Expressões de classe: expressões de classe arbitrárias, não somente classes nominadas.

• Expressões de propriedade: o único operador disponível em OWL 2 para criar expressões de propriedade é o inverso da propriedade objeto, entretanto o mesmo efeito pode ser obtido pela alteração dos argumentos da propriedade, então não é necessário usar expressões de propriedade em SWRL.

• Restrições em faixa de dados (contradomínio): especifica o tipo de valores de dados, como inteiro, data, união de alguns tipos de Esquema XML, tipos enumerados.

• sameIndividual e differentIndividuals: para especificar os mesmos indivíduos, ou diferentes indivíduos.

• Funções/recursos embutidos63 no núcleo da SWRL– predicados especiais

definidos na proposta da SWRL que pode manipular valores de dados, por exemplo para adicionar números que podem manipular valores, por exemplo para adicionar números.

• Funções/recursos embutidos customizados para a SWRL – pode-se definir

seus próprios recursos embutidos usando código Java.

O problema da indecidibilidade com a SWRL

Usando SWRL, podemos expressar mesmo o conceito crianças de pais casados. Entretanto, regras arbitrárias de SWRL poderão levar à indecidibilidade, em vista disso as assim chamadas regras LD-seguras (DL-safe) são implementadas em mecanismos.

Regras SWRL LD-Seguras64 são um subconjunto restrito de regras SWRL. Estas regras possuem a propriedade desejável de decidibilidade. Decidibilidade é assegurada pela restrição de que regras devem operar somente com indivíduos conhecidos em uma ontologia OWL. Mais precisamente, todas variáveis em uma regra SWRL LD-Segura deve-se vinculara somente e indivíduos conhecidos em uma ontologia. Por razões complexas. A habilidade de vincular a indivíduos que não são conhecidos provoca indecidibilidade. Foi provado que restringindo regras para vincular somente indivíduos conhecidos assegura a decidibilidade (MOTIK, SATTLER e STUDER, 2004). Em outras palavras, LD-Seguras são regras aplicadas somente para nomear indivíduos, elas não se aplicam a indivíduos que não são nomeados, embora esses indivíduos sabidamente existam.

Pode não ser imediatamente óbvio porque variáveis em uma regra SWRL não deveriam se vincular a qualquer outra coisa que não indivíduos conhecidos. Entretanto, regras SWRL não são regras autônomas – elas são um tipo de axioma OWL e interagem com outros axiomas OWL em uma ontologia.

Considere por exemplo a seguinte regra65:

Veiculo(?v) ∧ Motor(?m) ∧ temMotor(?v, ?m) VeiculoMotorizado(?v) que classifica um veículo como um veículo motorizado se ele tiver um motor. Claramente, esta regra irá classificar um indivíduo de classe Veiculo como um VeiculoMotorizado se ele tiver uma propriedade temMotor associada com um indivíduo de classe Motor como valor.

64 Vide: http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9VC 65 Vide http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9VF.

Assuma que nós definimos uma subclasse de Veiculo chamado Carro com a restrição associada (temMotoralgum Motor) e definimos um único indivíduo dessa classe em nossa ontologia. Desde que estabelecemos que o carro tenha um motor, nós esperaríamos que o carro individual fosse classificado como um veículo motorizado. Entretanto, desde que não há motor específico declarado para a propriedade temMotor na ontologia (somente a afirmativa de que tem algum motor), uma implementação LD-Segura de um raciocinador SWRL não inferiria que o carro é VeiculoMotorizado. Fazendo assim, isso significaria que a variável m na regra seja limitada a algum indivíduo que não é explicitamente conhecido.

Há muitas outras situações nas quais variáveis em regras SWRL não podem ser vinculadas a indivíduos que não são conhecidos.

Claramente, LD-Segura restringe o poder expressivo da linguagem SWRL como um todo. LD-Segura pode produzir inferências incompletas – isto é, elas podem não gerar todas as deduções que são incorporadas por uma ontologia em particular. Entretanto, quaisquer deduções que são alcançadas são formalmente parecidas. É importante notar que LD-Segura é obtida pela restrição das inferências alcançadas por um raciocinador SWRL, não pela restrição da autoria das regras, elas mesmas, regras LD-seguras parecem exatamente como regras SWRL normais.

Entretanto, se recursos incorporados são usados vinculando seus argumentos, então regras podem tornar-se indecidíveis. Considere o seguinte exemplo66:

Motorista(?d) temIdade(?d, ?Idade) swrlb:add(?novaIdade, ?Idade, 1) temIdade(?d, ?novaIdade)

À primeira vista, esta regra parece incrementar a idade do motorista em uma unidade. Entretanto, a inferência da SWRL é monotônica de modo que ao invés de modificar a idade do motorista, essa regra gera um número infinito de idades para um motorista, cada idade acrescida de um em relação à idade prévia. Inferência com essa regra nunca irá terminar.