3.2.2. Cómo buscar Documentos y Ontologías.

 Existen tres tipos de consultas disponibles actualmente:

 Componer una cadena de búsqueda (search string)

Por defecto, Swoogle permite al usuario especificar una cadena de búsqueda arbitraria para encontrar documentos relevantes de la Web Semántica.

En vez de construir un índice a partir del texto completo, Swoogle parsea el documento, es decir, analiza si está bien formado y presenta estructuras semánticas de relevancia para la recuperación semántica según modelos establecidos u ontologías, y solamente indexa la parte que más aporta a la semántica del documento, es decir, URL del documento, los términos que están siendo usados por el documento, y/o siendo definidos en él, descripciones explícitas sobre el documento, y los namespaces o espacios de nombres usados en el código fuente del documento.

Ejemplo de búsqueda de una cadena de texto:  

food

Busca documentos que son relevantes para "food", comida.

Búsqueda Avanzada utilizando restricciones de campo
(Advanced Search using field constraints)

Swoogle también permite a los agentes/usuarios especificar restricciones sobre los siguientes campos de un documento de Web Semántica, que llamaremos abreviadamente D:

url: el URL de D

desc: la descripción de D, obtenida normalmente de la anotación de la ontología de D (i.e., ternas que contienen el URL de D como sujeto y un literal como objeto)

def: términos que son definidos por D (para cada uno de estos términos, Swoogle indexa su local-name o nombre tal como se encuentra en D y su tipo, es decir si es una clase o propiedad)

ref: términos que son referenciados por D (para cada uno de estos términos Swoogle indexa solo su local-name)

pop: términos que son usados por primera vez en ese sentido concreto por un D

ns: los namespaces utilizados por D 

Ejemplos de búsqueda avanzada de metadatos: 

url:foaf

Busca documentos que tienen “foaf” como parte de su URL

url:"http://www.w3.org/2000/01/rdf-schema"

Busca un SWD concreto que utilice el URL "http://www.w3.org/2000/01/rdf-schema"

hasGrammar:n3

Busca documentos que son determinados utilizando "N3"

desc:timbl

Busca documentos que tienen "timbl" en su anotación de ontología

def:food

Busca documentos que contienen términos definidos relacionados con "food"

ref:ObjectProperty

Busca documentos que contienen términos que hacen referencia a "ObjectProperty"

ns:foaf

Busca documentos que utilizan namespaces que contienen la subcadena  "foaf"

ns:"http://xmlns.com/foaf/0.1/"

Busca documentos que utilizan el namespace "http://xmlns.com/foaf/0.1/"

 

hasEncoding: el charset o conjunto de caracteres fuente de codificación de D, por ejemplo, "utf-8","iso-8859-1"

hasLength: tamaño del documento en bytes

hasMd5sum: la suma md5 del documento

hasFiletype: el tipo de archivo o formato analizado desde el propio URL del documento, por ejemplo, owl, rdf. 

hasGrammar: la gramática RDF de D, su valor podría ser:

(i)                   rx - RDF/XML;

(ii)                  n3 – notación 3, y

(iii)                 nt – Ntriples, ternas

 hasCntTriple: el número de triples o ternas

hasOntoRatio: porcentaje de ternas que contribuyen a la definición

hasCntInstance: número de instancias de una clase (class-instances) excluyendo la definición de clase o de propiedad 

Búsqueda Avanzada utilizando características Lucene
(Advanced Search using Lucene features)

Este servicio de búsqueda está impulsado por Lucene[1], y por tanto los agentes-usuario pueden también usar directamente sintaxis de consulta Lucene.

Ejemplos de algunas de las características más comunes de búsqueda:

food web

Busca documentos relevantes para "food' y "web". Por defecto, dos palabras clave de búsqueda están conectadas por la semántica AND.

food OR web

Busca documentos relevantes para "food' or "web". OR debe escribirse en mayúscula.

food NOT web

Busca documentos relevantes para food pero no para web. NOT debe escribirse en mayúscula.

modify~

fuzzy match recupera documentos que contiene exactamente esta cadena o variantes similares utilizando lógica borrosa

 Ejemplo de búsqueda y visualización de resultados.Cuadro de texto:  

 

Figura 3. Ejemplo de la vista de la lista de ontologías recuperadas


[1] Lucene es un producto desarrollado por Apache. Se trata de un IRS desarrollado íntegramente en JAVA especializado en la gestión de grandes colecciones documentales. Sintaxis de consulta de Lucene:  http://lucene.apache.org/java/docs/queryparsersyntax.html [Consulta: 14-05-06]