terça-feira, 16 de outubro de 2012

TUTORIAL PROTÉGÉ - PARTE 1

Vamos iniciar um mini-curso de criação de ontologia utilizando o Protégé 4.2 como apoio. o mini-curso será baseado no guia prático para contruir ontologias OWL usando Protégé dos autores Horridge & Knublauch et al. Nesse tutorial trataremos do básico até ao avançado. As postagens não serão regulares, ou seja, pode ser que a próxima postagem seja de outro assunto e não consecutiva ao tutorial.

PARTE 1: Construindo uma ontologia OWL 

Neste tutorial descreveremos a criação de uma ontologia de Pizzas. Vamos usar a ontologia de Pizza porque encontramos muitos exemplos úteis, entretanto apresentaremos ao longo desse tutorial outros exemplos.

Exercício 1 : Criar uma nova ontoologia OWL
1-  Iniciar o Protégé 4.2;
2 - Escolha a opção "Create new OWL ontology";
3 - Substitua a IRI default pela http://www.semanticweb.org/ontologies/pizza.owl e clique no botão Continue;
4 - Selecione o caminho local do computador onde que salvar sua ontologia e depois clique em continue;

5 - Selecione o formato da sua ontologia RDF/XML;
6 - Clique no botão Finish;
7- Será aberta uma nova janela com uma aba chamada "Active Ontology".

--------------------------------INÍCIO NOTA EXPLICATIVA-----------------------------------------
Vamos entender melhor o que é IRI e o que é o formato RDF/XML.


A URI(Uniform Resource Identifier)  é um conjunto de caracteres usado para identificar um nome ou recurso. Essa identificação permite a interação com outros recursos da rede (ou da WWW) usando protocolo específicos.
Na internet o IRI (Internationalized Resource Identifier) é a generalização da URI. Enquanto URI é limitado ao subconjunto de caracteres ASCII, a IRI pode conter um conjunto de caracteres universais (Unicode/ISO 10646), incluindo Chinês ou Japonês, entre outros. Para ampliar seus conhecimentos em URI acessa a página da W3C (http://www.w3.org/International/O-URL-and-ident.html).

Existe bastante variabilidade de como os dados são formatados. Por exemplo, existe 6 trechos de códigos e todos significam a mesma coisa:

<!-- 1 -->
<foaf:Person rdf:ID="bob" foaf:name="Bob" />

<!-- 2 -->
<foaf:Person rdf:about="#bob">
  <foaf:name>Bob</foaf:name>
</foaf:Person>

<!-- 3 -->
<rdf:Description rdf:ID="bob" rdf:type="http://xmlns.com/foaf/0.1/Person">
  <foaf:name>Bob</foaf:name>
</rdf:Description>

<!-- 4 -->
<rdf:Description rdf:ID="bob" rdf:type="http://xmlns.com/foaf/0.1/Person" />
<rdf:Description rdf:about="#bob" foaf:name="Bob" />

<!-- 5 -->
<rdf:Description rdf:about="#bob" foaf:name="Bob">
  <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person" />
</rdf:Description>

<!-- 6 -->
<rdf:Description rdf:about="#bob">
  <foaf:name>Bob</foaf:name>
  <rdf:type>
    <rdf:Description rdf:about="http://xmlns.com/foaf/0.1/Person" />
  </rdf:type>
</rdf:Description>

Os formatos mais utilizados são:RDF/XML, OWL/XML e RDF/XML-ABBREV. O OWL/XML não pode ser serializado em um grafo. O formato RDF/XML-ABBREV é mais compacto e portanto menos eficaz que o formato RDF/XML format.
--------------------------------FIM DA NOTA EXPLICATIVA-----------------------------------------

Vamos usar em nossa ontologia o formato RDF/XML.

A seguinte tela ilustra o protégé com aba ativa "Active Ontology"


Clicando em annotations você adiciona um comentário explicativo a sua ontologia. Veja na tela seguinte:



A janela DL metrics mostra a expressidade de sua ontologia. No próximo curso continuaremos nessa janela. Explicaremos em mais detalhes o que é expressividade de uma ontologia e como é medido no protégé.

quarta-feira, 10 de outubro de 2012

METAS

NOVA METAS

Nós próximos artigos falarei mais sobre:

1) Raciocínio baseado em casos (case-based  reasoning) que usam ontologia. Para isso busquei o framework JColibri e vou implementar algo.

2) Lógica e raciocício lógico

3) Uso do protegé 4.2.

4) Recuperação da informação

Aguardem novidades em breve. Boas ideias são bem vindas.


O que é uma ontologia? segundo McGuinness & Noy


baseado no artigo McGuinness & Noy - Um guia para criar sua primeira Ontologia.

O que é uma ontologia?


A literatura de inteligência artificial contém muitas definições de uma ontologia, e muitas  se contradizem. Para o propósito deste artigo uma ontologia é uma descrição formal explicíta dos conceitos do domínio do discurso (classes (algumas vezes chamadas de conceitos)), propriedades de cada conceito descrevendo várias características e atributos do conceito (slots (algumas vezes chamados de roles ou propriedades)), e restrições nos slots ( facets ( algumas vez chamado de restrições aos role)). Uma ontologia juntamente com um conjunto de instâncias das classes constituem uma base de conhecimento. Na realidade, existe uma linha tênue onde termina a ontologia e inicia a base de conhecimento.

As classes são o foco da maioria das ontologias. Classes descrevem conceitos do domínio. Por exemplo: classes de vinhos representam todos os vinhos. Vinhos específicos são instâncias das classes. O copo de vinho Bordeaux é uma instância da classe vinho Bordeaux. Uma classe pode ter subclasses que representam conceitos que são mais específicos que uma superclasse. Por exemplo, podemos dividir as classes de todos os vinhos em tinto, branco e rosé. Alternativamente, podemos dividir em uma classe de vinhos espumante e não espumantes.

Slots descrevem propriedades das classes e instâncias: O vinho  Château Lafite Rothschild Pauillac é muito encorpado; é produzido pela vinícula Château Lafite Rothschild. Temos 2 slotes descrevendo o vinho desse exemplo: o slot encorpado com os valores muito e o slote produtor com o valor vinícula Château Lafite Rothschild. Ao nível de classes, podemos dizer que as instâncias das classes Vinho terão slots descrevendo seus  sabor, corpo,nível de açúcar, o produtor do vinho e assim por diante.

Todas as instâncias da classe Vinho, e suas subclasses Pauillac, tem um slot da qual é uma instância da classe Vinícula (Figura 1). Todas as instâncias da classe Vinícula tem um slot produtor que refere-se a todos o vinhos (instâncias das classe Vinho e suas subclasses) que são produzidos por um vinícula. 

Em termos práticos, desenvolver um ontologia inclui:
·
Definir as classes na ontologia.

· Organizar as classes em uma taxonomia (subclasse-superclasses).
·
Definir e descrever valores permitidos para os slots. 

· Preencher valores para slotes instanciados
Figura 1

Não existe uma forma ou metodologia correta para desenvolver ontologias. Descreveremos uma abordagem iterativa para desenvolvimento de ontologia: Iniciamos com um primeiro passo:

Primeiro, gostaríamos de enfatizar algumas regras fundamentais no projeto de ontologias.  Essas regras podem parecer dogmáticas.Entranto podem ajudar em muitas decisões de projeto:
1) Não existe uma maniera correta para modelar o domínio - Existem várias alternativas. A melhor solução quase sempre depende das necessidades da ontologia e do que você pretende fazer.
2) O desenvolvimento de ontologia é necessariamente um processo iterativo.
3) Os Conceitos devem ser próximos a objetos(físicos ou lógicos) e relacionamento do domínio de interesse. Esses serão muito provavelmente  substantivos (objetos) ou verbos (relacionamento) em frases que descrevem o domínio.

O primeiro passo é determinar o domínio e escopo da ontologia. As seguintes perguntas podem ser feitas:
·
Qual é o domínio que a ontologia deverá cobrir?

· Para que iremos usar essa ontologia?
· Para quais tipos de pergunta a ontologia deve fornecer resposta?
· Quem usará e manterá a ontologia?

Uma maneira de determinar o escopo da ontologia é esboçar uma lista de perguntas na qual uma ontologia deve estar apta a responder, também chamada de questões de competência (Gruninger and Fox 1995). Estas questões servirão de teste a ontologia criada. 

sábado, 6 de outubro de 2012

Por que desenvolver uma ontologia?

baseado no artigo McGuinness & Noy - Um guia para criar sua primeira Ontologia.

Por que desenvolver uma ontologia?


Nos últimos anos o desenvolvimento de ontologia - especificações formais e explicitas dos conceitos do domínio e relações entre os conceitos (Gruber, 1993) - foi movido da esfera dos laboratórios de Inteligência Artificial para os computadores de especialistas do domínio. Ontologias tem se tornado comum na Web. As ontologias na Web variam em categorizar grandes taxonomias em sites na Web (tais como Yahoo!) para categorização de produtos de vendas(tais como Amazon.com). O consórcio WWW (W3C) está desenvolvendo RDF (Resource Descriptions Framwework ), uma linguagem para codificação do conhecimento nas páginas Web para tornar compreensível a agentes eletrônicos em busca de informações.A DARPA (Agência Americana de Pesquisas) em conjunto com a W3C está desenvolvendo o DAML pela extensão do RDF com mais expressividades do construtos visando facilitar a interações de agentes na Web.  Atualmente muitas disciplinas desenvolvem ontologias padronizadas que especialistas do domínio podem usar para compartilhar e anotar informação. Por exemplo: Na medicina tem produzido vasto, padronizado, vocabulário estruturado como o SNOMED  (Price and Spackman 2000) e a rede semântica da UMLS (Unified Medical Language System) (Humphreys and Lindberg 1993). Outros amplos propósitos para as ontologias estão surgindo. Por exemplo: Programa de desenvolvimento das Nações Unidas e Dun & Bradstreet uniram esforços para desenvolver o UNSPSC, que é uma ontologia na qual fornece terminologia para produtos e serviços (www.unspsc.org).
Uma ontologia define um vocabulário comum para pesquisadores que precisam compartilhar informação de um domínio. Isso inclui definições que são interpretáveis por máquinas. Essas definições são conceitos básicos do domínio e relações entre os conceitos
Por que alguém desenvolveria uma ontologia?Algumas razões são:
* Para compartilhar entendimento comum da estrutura da informação entre as pessoas ou agentes de software.
* Permitir o reuso do domínio do conhecimento.
* Para tornar explicita hipóteses do domínio.
* Para analisar conhecimento do domínio.

Compartilhar entendimento comum da estrutura da informação entre pessoas ou agentes de software é uma dos mais comuns objetivos no desenvolvimento de ontologias(Musen 1992; Gruber 1993).  Por exemplo,
imagine vários web sites diferentes que contém informação médica ou fornecem serviços de e-commerce. Se esses sites compartilham e publicam fundamentalmente a mesma ontologia dos termos, então os agentes de software podem extrair e agregar informações dos diferentes sites. Os agentes podem usar essa informação agregada para responder consultas dos usuário ou como dados de entrada para outras aplicações.
Permitir reutilizar conhecimento do domínio foi uma das forces motrizes da recentes onda da pesquisa de ontologia. Por exemplo, modelos de domínios muito diferentes precisam representar a noção de tempo. Essas representação inclui a noção de intervalos de tempo, pontos nos tempo, medidas relativas do tempo, e assim por diante. Se um grupo de pesquisadores desenvolvem uma ontologia em detalhes, outras podem ser reutilizadas em outros domínios. Adicionalmente, se precisamos construir um ontologia grande, podemos integrar muitas ontologias existentes. Podemos também reutilizar ontologias gerais, tais como a ontologia UNSPSC, e estende-la para descrever seu domínio de interesse.

Tornar explicito as hipóteses fundamentais do domínio - Em uma implementação é possível mudar essas hipóteses facilmente se nosso conhecimento do domínio mudar. A codificação das hipóteses sobre o mundo usando uma linguagem de programação torna essas hipóteses não apenas difícil de verificar e entender , mas também é difícil de mudar para alguém sem conhecimento em programação e lógica. Além disso, especificação explícita do conhecimento do domínio são úteis para novos usuários que devem aprender o que os termos do domínio significam.







segunda-feira, 1 de outubro de 2012

O que é ontologia segundo Guarino




Texto baseado no artigo Formal Ontology and Information Systems de Nicola Guarino


O que é ontologia

Podemos agora esclarecer o papel de uma ontologia, considerado como um conjunto de axiomas lógicos concebidos para explicar o significado de um vocabulário pretendido. Dada uma linguagem L com compromisso ontológico K, uma ontologia para L é um conjunto de axiomas de forma que o conjunto de seus modelos se aproxima da melhor forma possível do conjunto de modelos pretendidos de L de acordo com K (Fig. 1). Em geral, não é fácil (nem sempre conveniente)  encontrar o correto conjunto de axiomas, de modo que uma ontologia irá admitir outros modelos, além dos que se pretendiam. Portanto, uma ontologia pode "especificar" uma conceituação de forma indireta, desde vez que i) tenha um conjunto aproximado dos modelos pretendidos; ii) um conjunto desses modelos é apenas uma fraca caracterização de um conceitualização. Diremos que uma ontologia O para uma linguagem L aproxima de uma conceituação C se existe um compromisso ontológico K = <C,a> , de tal forma que os modelos pretendidos de L segundo K são incluídas nos modelos de O. Uma ontologia comprometida com C deve ser i)  concebida com o objetivo de caracterizar C, e ii) se aproxima de C. Uma linguagem L compromete-se com uma ontologia O que se compromete  com uma conceituação C, tal que O concorda com C. Com esses esclarecimentos, chegamos à seguinte definição, que refina a definição de Gruber, fazendo uma clara diferença entre uma ontologia e uma conceituação:
Uma ontologia é uma teoria lógica que representa o significado pretendido de um vocabulário formal, isto é, o seu comprometimento ontológico com uma conceituação particular do mundo. Os modelos pretendidos de uma linguagem lógica são limitados por seu compromisso ontológico. Uma ontologia reflete indiretamente esse compromisso (E conceituação fundamental). Pela aproximação destes modelos pretendidos.
As relações entre o vocabulário, conceituação, o compromisso ontológico e a ontologia são ilustrados na fig. 1. É importante salientar que uma ontologia é uma linguagem dependente, enquanto a conceituação é independente de linguagem
Figura 1: O modelo pretendido de uma linguagem lógica reflete o seu compromisso de uma conceituação.

terça-feira, 25 de setembro de 2012

Ontologia e ontologias


Texto baseado no artigo Formal Ontology and Information Systems de Nicola Guarino



Ontologia e ontologias

Uma vez que este papel é deliberadamente dirigido a um público interdisciplinar, é aconselhável atenção para alguns esclarecimentos preliminares terminológicos, especialmente porque alguns termos parecem ser utilizados com sentidos diferentes em diferentes comunidades. Vamos primeiro considerar a distinção entre "Ontologia" (com "O" maiúsculo), como na declaração "Ontologia é uma disciplina fascinante" e "ontologia" (com letra "o" minúsculo ), como na expressão "ontologia de Aristóteles" ou "ontologia do CYC".  Enquanto a primeira interpretação se refere a uma disciplina filosófica particular, a segunda  é usada pela comunidade da Inteligência Artificial (em geral, toda comunidade de ciência da computação).
No sentido filosófico, pode se referir a uma ontologia como um sistema particular de categorias responsável por uma certa visão do mundo. Esse sistema não depende de uma linguagem particular. a ontologia de Aristóteles é sempre a mesma, independentemente da língua usada para descrevê-la. Por outro lado, no seu uso mais predominante na IA (Inteligência Artificial), uma ontologia se refere a um artefato de engenharia, constituído de um vocabulário específico usado para descrever uma certa realidade, além de ser um conjunto de hipóteses explícitas sobre o significado pretendido das palavras de um vocabulário. Esse conjunto de hipóteses são normalmente na forma de uma teoria de lógica de primeira ordem, onde as palavras do vocabulário aparecem como nomes de predicado unário ou binário, respectivamente chamados conceitos e relações. No simples caso, uma ontologia descreve uma hierarquia de conceitos relacionados pelas relações subsunção, em casos mais sofisticados, axiomas apropriados são adicionados para expressar outras relações entre conceitos e restringir sua interpretação pretendida.
As duas interpretações de “ontologia” como descrita acima são relacionadas entre si, mas a fim de resolver o impasse terminológico precisamos escolher uma das interpretações. Vamos adotar a interpretação de IA, com a conceituação da palavra para se referir à interpretação filosófica. Assim, duas ontologias podem ser diferentes no vocabulário utilizado (Usando palavras em Inglês ou Italiano, por exemplo), enquanto partilham a mesma conceituação. A noção de conceituação apresentada acima exige, todavia, uma formalização adequada, uma vez que pode gerar algumas confusões. Com efeito, uma conceituação foi definida em um livro de IA conhecido como uma estrutura <D,R>, onde D é um domínio e R é um conjunto ou relações relevantes em D6. Essa definição foi depois usado por Tom Gruber, que definiu uma ontologia como "uma especificação de uma conceituação" [21]. 
O problema com a noção de conceituação de Genesereth e Nilsson é que se refere as relações matemáticas simples em D, isto é, as relações preocupada com a realidade. Essas relações refletem um determinado estado de coisas: Por exemplo, em um mundo de blocos,  pode refletir uma organização especial dos blocos sobre a mesa. Precisamos ao invés de se concentrar no significado dessas relações, independentemente de um estado das coisas: por exemplo, o significado da relação “acima”, encontra-se na forma como a relação se refere a certos conjuntos de blocos de acordo com sua organização espacial. Precisamos, portanto, para falar das relações intencionais vamos chamá-los de relações conceituais, reservando-se o simples termo "relação" de relações matemáticas simples.
A forma padrão para representar intenções (e, portanto, as relações conceituais), é considerar como funções de mundos possíveis em conjuntos. Isso tem algumas desvantagens, mas funciona muito bem para os nossos propósitos. Embora as relações normais sejam definidas em um determinado domínio, relações conceituais são definidas em um espaço de domínio. Vamos definir um espaço de domínio como uma estrutura <D, W>, onde D é um domínio e W é um conjunto máximo de estados do objeto de tal domínio (também chamados de mundos possíveis). Por exemplo, D pode ser um conjunto de blocos em uma tabela e W pode o conjunto de todos os possíveis organizações espaciais destes blocos. Podemos dizer, portanto, que uma conceituação é um conjunto de relações conceituais definidas em um espaço de domínio.
Consideremos agora a estrutura <D, R> . Uma vez referido a um mundo particular (ou estado de coisas), vamos chamá-lo de uma organização (estrutura) do mundo. É fácil ver que uma conceituação contém muitas organizações (estruturas) do mundo.
Seja C = <D, W, a> ser uma conceituação. Para cada mundo possível w pertence a W, a estrutura pretendida de w de acordo com C é a estrutura Swc = <D, Rwc>, onde Rwc = {p (w) | p pertece a R} é o conjunto de extensões (em relação à w) dos elementos de R. Iremos denotar com Sc o conjunto (Swc | w pertence a W) de todas as estruturas do mundo pretendido de C. 

Dada uma linguagem L com um vocabulário V, e um compromisso ontológico K = <C, a> para L, um modelo <S, I> será compatível com K se: i)S pertence Sc ii) para cada constante c , I(c) = a(c) ; iii) existe um mundo w tal que , para cada símbolo de predicado p, I tais mapas predicados dentro de um admissível extensão de a(p), ou seja, existe uma relação conceitual r tal que a(p) = p ^ p(w) = I(p). O conjunto Ik (L) de todos os modelos de L que são compatíveis com K será chamado o conjunto de modelos pretendidos de L de acordo com K.

Em geral, não haverá maneira de reconstruir o compromisso ontológico de uma linguagem

a partir de um conjunto de seus modelos pretendidos, uma vez que um modelo não reflete, necessariamente, um determinado mundo: na verdade, uma vez que as relações relevantes não podem ser consideradas completamente suficientes para caracterizar um estado de coisas, e um modelo pode realmente descrever uma situação comum em muitos estados de coisas. Isso significa que é impossível reconstruir a correspondência das relações entre os mundos e relação de extensão estabelecida pela conceituação base. Um conjunto de modelos pretendidos, portanto, apenas uma fraca caracterização de uma concepção: apenas exclui algumas interpretações absurdas, sem realmente descrever o "sentido" do vocabulário.

Ontologia e Sistemas de Informação by Guarino

Texto baseado no artigo Formal Ontology and Information Systems de Nicola Guarino

Ontologia e Sistemas de Informação



Investigação sobre a ontologia está se tornando cada vez mais difundida na comunidade de ciência da computação. Embora esse termo tem sido bastante limitado à esfera filosófica do passado, agora está ganhando um papel específico em Inteligência Artificial, Lingüística Computacional e Banco de Dados. Em particular, a sua importância é reconhecida em diversos campos de pesquisa como engenharia do conhecimento [20,45,15,18], na representação do conhecimento [23,2,42], modelagem qualitativa [19,9,13], a engenharia da linguagem [31,5], o projeto de banco de dados [11,47], as modelagem de informações [3,53], a integração da informação [55,7,35], a análise orientada a objetos [51,39], em recuperação de informações, e extração de informações [24,6,34,54], gestão e organização do conhecimento [40], os projetos de sistemas baseados em agentes. Em áreas de diferentes aplicações, incluindo integração empresarial, tradução da linguagem natural, medicina , engenharia mecânica, a padronização do conhecimento do produto, comércio eletrônico, sistemas de informação geográfico, sistema informações jurídicos, sistemas de informações biológico. Vou usar o termo genérico para o termo sistemas de informação, em seu sentido mais amplo, para coletivamente referenciar este campos e área de aplicação.
Em alguns casos, o termo "ontologia" é apenas um nome fantasia que denota o resultado de atividades familiares, como análise conceitual e modelagem de domínio, realizado por meio de normas metodológicas. Em muitos casos, no entanto, ontologias supostamente apresenta as suas próprias metodologias e peculiaridades arquitetônicas. No lado metodológico, a principal particularidade é a adoção de uma abordagem altamente interdisciplinar, onde a filosofia e a lingüística desempenham um papel fundamental na análise da estrutura de uma determinada realidade em um alto nível de generalidade e na formulação de um vocabulário claro e rigoroso. Do lado da arquitetura, o aspecto mais interessante é a centralidade do papel que uma ontologia pode desempenhar em um sistema de informação, levando à perspectiva dos sistemas de informação dirigidos a ontologia. Chamei a atenção para outras [23,24] a importância de uma abordagem interdisciplinar na prática da engenharia ontológica, subjacente, em particular o papel desempenhado pela ontologia formal. Uma vez que este tema vai ser abordado com mais detalhe mais para frente [41,50], vou evitar aqui qualquer comentário adicional.
Em vez disso , vou primeiro propor a elaboração do mais recente trabalho esclarecimentos sobre a forma a termo "ontologia" é utilizado em ciência da computação originalmente apresentado em [27]. Apesar de alguns progressos, Eu acredito que há ainda uma boa quantidade de terminologias e confusão conceitual, e eu vou tentar, assim, esclarecer melhor - em relação ao trabalho passado - as noções de ontologia, o compromisso ontológico e conceituação. E então introduzir a perspectiva de sistemas de informação dirigidos a ontologias, mostrando como ontologias pode desempenhar um papel central, afetando os principais componentes de uma informação sistema: os recursos de informação, interfaces de usuário e programas aplicativos.

[20] Gruber, T. R. 1993. A translation approach to portable ontology specifications. Knowledge Acquisition,5: 199-220.
[45] Uschold, M. and Gruninger, M. 1996. Ontologies: Principles, Methods and Applications. The Knowledge Engineering Review, 11(2): 93-136.
[15] Gaines, B. 1997. Editorial: Using Explicit Ontologies in Knowledge-based System Development.International Journal of Human-Computer Systems, 46: 181.
[18] Gómez-Pérez, A. K. 1997. Knowledge Sharing and Reuse. In Liebowitz (ed.) The Handbook on Expert Systems. CRC Press.
[23] Guarino, N. 1995. Formal Ontology, Conceptual Analysis and Knowledge Representation. International Journal of Human and Computer Studies, 43(5/6): 625-640.
[2] Artale, A., Franconi, E., Guarino, N., and Pazzi, L. 1996. Part-Whole Relations in Object-Centered Systems: an Overview. Data and Knowledge Engineering, 20(3): 347-383.
[42] Sowa, J. F. 1998. Knowledge Representation: Logical, Philosophical, and Computational Foundations. PWS Publishing Co. (forthcoming), Boston.
[19] Gotts, N. M., Gooday, J. M., and Cohn, A. G. 1996. A Connection Based Approach to Commonsense Topological Description and Reasoning. The Monist: An International Journal of General Philosophical Inquiry, 79(1).
[9] Borgo, S., Guarino, N., and Masolo, C. 1997. An Ontological Theory of Physical Objects. In Proceedings of Qualitative Reasoning 11th International Workshop. Cortona, Italy, IAN-CNR, Pavia: 223-231.
[13] Casati, R. and Varzi, A. 1997. Spatial Entities. In O. Stock (ed.) Spatial and Temporal Reasoning. Kluwer, Dordrecht.
[31] Lang, E. 1991. The LILOG Ontology from a Linguistic Point of View. In O. Herzog and C. R. Rollinger (eds.), Text Understanding in LILOG. Springer-Verlag, Berlin.
[5] Bateman, J. A. 1995. On the Relationship Between Ontology Construction and Natural Language: aSocio-Semiotic View. International Journal of Human-Computer Studies, 43: 929-944.
[11] Burg, J. F. M. 1997. Linguistic Instruments in Requirements Engineering. IOS Press.
[47] Van de Riet, R., Burg, H., and Dehne, F. 1998. Linguistic Issues in Information Systems Design. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[55] Wiederhold, G. (ed.) 1996. Intelligent Integration of Information. Kluwer Academic Publishers, Boston, MA.
[7] Bergamaschi, S., Castano, S., De Capitani di Vimercati, S., Montanari, S., and Vincini, M. 1998. An Intelligent Approach to Information Integration. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[35] Mena, E., Kashyap, V., Illarramendi, A., and Sheth, A. 1998. Domain Specific Ontologies for Semantic Information Brokering on the Global Information Infrastructure. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[51] Wand, Y. 1989. A Proposal for a Formal Model of Objects. In W. Kim and F. H. Lochovsky (eds.), Object-Oriented Concepts, Databases, and Applications. Addison Wesley, Reading, MA: 537-559.
[39] Pazzi, L. 1998. Three Points of View in the Characterization of Complex Entities. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[24] Guarino, N. 1997. Semantic Matching: Formal Ontological Distinctions for Information Organization, Extraction, and Integration. In M. T. Pazienza (ed.) Information Extraction:
[6] Benjamins, V. R. and Fensel, D. 1998. The Ontological Engineering Initiative (KA)2. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[34] McGuinness, D. 1998. Ontological Issues for Knowledge-Enhanced Search. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[54] Welty, C. 1998. The Ontological Nature of Subject Taxonomies. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[40] Poli, R. 1996. Ontology and Knowledge Organization. In Proceedings of 4th Conference of the International Society of Knowledge Organization (ISKO 96). Washington.
[23] Guarino, N. 1995. Formal Ontology, Conceptual Analysis and Knowledge Representation. International Journal of Human and Computer Studies, 43(5/6): 625-640.
[24] Guarino, N. 1997. Semantic Matching: Formal Ontological Distinctions for Information Organization, Extraction, and Integration. In M. T. Pazienza (ed.) Information Extraction: A Multidisciplinary Approach to an Emerging Information Technology. Springer Verlag: 139-170.
[41] Smith, B. 1998. Basic Tools of Formal Ontology. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[50] Varzi, A. 1998. Basic Problems of Mereotopology. In N. Guarino (ed.) Formal Ontology in Information Systems. IOS Press (this volume).
[27] Guarino, N. and Giaretta, P. 1995. Ontologies and Knowledge Bases: Towards a Terminological Clarification. In N. Mars (ed.) Towards Very Large Knowledge Bases: Knowledge Building and Knowledge Sharing 1995. IOS Press, Amsterdam: 25-32.