OWL 101
Introduction
OWL (or Web Ontology Language) is the ontology (think “schema”) language of the Semantic Web. It is one of the core Semantic Web standards you must be familiar with, along with RDF and SPARQL.
Its two primary uses are:
- Fast and flexible data modeling
- Efficient automated reasoning
This lesson gives a high level introduction to OWL and is suitable for beginners. A more detailed nuts & bolts lesson on creating your first ontology will come next.
Objectives
After completing this lesson, you will know:
- The four main kinds of modern computing languages, e que tipo de OWL é
- Três vantagens do OWL sobre outras linguagens de seu tipo
- Uma poucas das ferramentas disponíveis para criar ontologias usando OWL
Prrequisitos
- RDF 101
- Introdução ao RDFS
Lição de hoje
Quatro tipos principais de linguagens de computador estão em uso hoje em dia.
- Li>Linguagens imperativas, tais como C/C++, Java, Javascript, Lisp, e Perl. Estas linguagens são projetadas para permitir que você forneça facilmente uma seqüência de instruções que dizem ao computador como fazer algo. Por exemplo, estas linguagens podem ser usadas para dizer ao computador como calcular o 100º dígito do PI, como desenhar um monstro na tela, ou como processar um pedido de livro online.
- Linguagens de consulta, como SQL e XQuery. Estas linguagens assumem a existência de uma base de dados de algum tipo e são simplesmente usadas para pedir uma informação específica.
- Linguagens de dados, como XML, HTML, e JSON. Estas linguagens não fazem nada, e não pedem por nada. Elas são simplesmente um formato padrão para transmitir dados de uma máquina ou pessoa para outra.
- linguagens de modelagem, tais como XSD, UML, e (de certa forma) SQL. Estas linguagens não fazem necessariamente nada ou pedem por nada, e não transmitem realmente dados reais. Pelo contrário, elas dizem algo sobre data.
OWL cai na última categoria – é uma linguagem de modelagem.
p>Embora OWL seja uma linguagem de modelagem no sentido clássico, ela tem muitas vantagens em comparação com as linguagens de modelagem que vieram antes dela.
Vantagem 1: OWL é Expressivo
Linguagens de legado como XSD, UML e SQL são adequadas para listar um número de classes e propriedades e construir algumas relações hierárquicas simples. Por exemplo, SQL permite construir uma nova tabela para cada classe, adicionar uma nova coluna para cada propriedade e especificar algumas relações básicas usando chaves estrangeiras.
No entanto, SQL não permite facilmente representar relações de subclasse (por exemplo, “todas as Encomendas de Livros Electrónicos são um tipo de Transacção Financeira”).
Linguagens mais expressivas como UML tornam as subclasses estáticas mais fáceis, mas mesmo elas não podem facilmente representar relações dinâmicas (por exemplo “Todas as Transacções Financeiras de Menos de $1000 são Transacções Sem Impostos”).
Uma das características distintivas da OWL é que pode ser usada para expressar ideias extremamente complicadas e subtis sobre os seus dados.
Vantagem 2: OWL é Flexível
Currentemente, a maioria das tecnologias que empregam linguagens de modelagem de dados são projetadas usando uma mentalidade rígida de “Construa o Modelo, depois Use o Modelo”.
Por exemplo, suponha que você queira mudar uma propriedade em uma base de dados relacional. Você já tinha pensado que a propriedade era de valor único, mas agora precisa ser multi-valorizada. Para quase todos os bancos de dados relacionais modernos, essa alteração exigiria que você apagasse a coluna inteira dessa propriedade e depois criasse uma tabela totalmente nova que contenha todos esses valores de propriedade mais uma referência chave estrangeira.
Isso não é apenas muito trabalho, mas também invalidará quaisquer índices que lidem com a tabela original. Ele também invalidará qualquer consulta relacionada que seus usuários tenham escrito. Em resumo, fazer essa alteração pode ser muito difícil e complicado. Muitas vezes, tais mudanças são tão problemáticas que simplesmente nunca são feitas.
Por contraste, todas as declarações de modelagem de dados (juntamente com tudo mais) no OWL são triplos RDF e, portanto, são incrementais, pela sua própria natureza. Aprimorar ou modificar um modelo de dados após o fato pode ser facilmente realizado através da modificação do triplo relevante. A maioria das tecnologias baseadas em OWL tira vantagem da flexibilidade do OWL ao suportar tais mudanças simples.
Vantagem 3: OWL é Eficiente
OWL permite que você use seu modelo de dados para suportar muitos tipos diferentes de tarefas de raciocínio. Esta poderosa capacidade de suportar raciocínio de dados permite aos desenvolvedores minimizar os dados que são explicitamente armazenados e minimizar a complexidade das consultas necessárias para recuperar esses dados.
No entanto, nos computadores de hoje, certos tipos de raciocínio podem ser executados muito mais rapidamente do que outros tipos de raciocínio. OWL portanto vem com um número de “perfis” embutidos que permitem que você troque os tipos de raciocínio que você gostaria de fazer contra seus objetivos individuais de desempenho.
OWL Tools
Muitos pacotes de software estão agora disponíveis para criar ontologias usando OWL.
- Protégé da Universidade de Stanford, um editor de ontologias livre e de código aberto
- TopBraid Composer from TopQuadrant
- Qualquer editor de texto que você tenha por perto
Não parecido com algumas outras linguagens, que sempre parecem as mesmas, o OWL na verdade pode ser “escrito” de muitas maneiras diferentes. OWL – como em todas as RDF – pode ser expresso em um formato canônico OWL/XML, bem como no formato RDF/XML. Também pode ser expresso em formatos mais legíveis para humanos como TRIG, Manchester, Turtle e Functional-Style.
Detalhes sobre os padrões de sintaxe OWL, bem como alguns exemplos de como alternar dinamicamente entre várias sintaxes podem ser encontrados no site do W3C.
Conclusion
A expressividade, flexibilidade e eficiência do OWL fazem dele uma linguagem de modelagem ideal para a criação de ontologias web que representam idéias excepcionalmente complexas e refinadas sobre dados. Na próxima lição, RDFS vs. OWL vamos comparar RDFS e OWL e discutir quando você deve usar um vs. o outro.