Seguir a Miguel Gomez Cuesta en Twitter Seguir a Miguel Gomez Cuesta en Linkedin Seguir a Miguel Gomez Cuesta en Google+ Contactar a Miguel Gomez Cuesta por Correo Electrónico

martes, 16 de febrero de 2016

Web Semántica - Lenguaje SPARQL

Datos enlazados (Linked Open Data)


Para el W3C, el concepto Linked Open Data (Datos enlazados) es la forma que tiene la Web Semántica de vincular los datos que están distribuidos por toda la Web.

En el siguiente enlace podemos ver un diagrama con las bases de datos públicas y la representación de las relaciones entre ellas. Es decir, podemos ver la manera en que las bases de datos se apoyan en otras bases de datos enlazado la información de ambas para aprovecharse de la reutilización de información común.

lunes, 8 de febrero de 2016

Web Semantica - Modelo de Datos

Modelo de Datos

Es el Lenguaje que nos permite describir la estructura de los datos y las restricciones que estos deben cumplir
Una primera propuesta para cumplir estos requisitos es el Vocabulario RDF Schema

RDF Schema

Es un vocabulario RDF donde cada palabra tiene un significado bien definido y estandarizado. Su función es proveer de los elementos básicos comunes para la descripción de diferentes dominios.

Los elementos básicos de RDFS son las clases, los tipos o instancias y las propiedades.

Clase: Conjunto de recursos que tienen características comunes y una representación en el mundo real. Ejemplo: Clase Persona, Clase Libro

Tipo o instancia: Un elemento de la clase es identificado como una instancia de la clase. 

Propiedad: Puede utilizarse de dos maneras.
    • Puede indicar el valor de un atributo para un recurso.
    • Puede indicar la relación entre dos recursos.

@prefix rdf: https://www.w3.org/1999/02/22-rdf-syntax-ns#
@prefix : http://www.ejemplo.org 

:Libro rdf:type rdfs:Class . 
:Fecha_Publicacion rdf:type rdf:Property .
:Escrito_Por rdf:type rdf:Property .
:La_Biblia rdf:type :Libro .
:Don_Quijote rdf:type :Libro .


lunes, 1 de febrero de 2016

Web Semantica - Conceptos y Vocabularios RDF

Conceptos fundamentales:


A continuación vamos a presentar los conceptos fundamentales para entender la web semántica.

RDF: 

Es el lenguaje propuesto por el W3C para representar información sobre recursos en la web, entre sus principales características están:
  • Está basado en el uso de grafo dirigidos y etiquetados.
  • Puede ser procesado por un computador.
  • Los elementos principales para construir un grafo RDF son las URI y los literales

URI

Uniform Resource Identifier es un identificador de un recurso en la web. Un recurso puede ser una página web, una persona, un libro, una ciudad, una película, …

Nota: URL (Uniform Resource Locator) es un tipo de identificador más específico de URI. URL es un identificador de una página web, es decir, es un tipo de URI más concreto.

La Estructura general de un URI es protocolo://autoridad/camino
Ej: http://dbpedia.org/resource/Lionel_Messi


lunes, 25 de enero de 2016

Web Semántica - Introducción

La Web actual está formada por un conjunto de documentos enorme, en su mayoría páginas web escritas en lenguaje HTML. Cabe destacar que la utilización de este lenguaje trae como desventaja
una mala representación semántica de los datos


La Web actual es, un extraordinario medio para el acceso al conocimiento explícito, servicios, entretenimiento, comercio y negocios electrónicos, entre otros. 

Por este motivo las tecnologías que la hacen posible la web actual han tenido una gran evolución para garantizar la facilidad de su uso. Sin embargo, la cantidad de información que se pueda encontrar en Internet se ha convertido en algo incalculable, por lo cual los motores de búsquedas se han visto obligados a cambiar la forma en la que se recupera dicha información.


Big Data


Características de la Web Actual:

Heterogénea: Existen múltiples organizaciones que generan datos de forma independiente y por tanto con formatos y estructura diferente

Masiva: La cantidad de información existente es enorme y sigue creciendo

Voluble: Cada día es publicada y borrada una cantidad enorme de información. Esta información cambia muy rápido y cada vez más gracias a las redes sociales

Humana: En general, la información esta estructurada para personas y solo puede ser interpretada y comprendida correctamente por una persona .

martes, 5 de enero de 2016

JPA - API Criteria

Introducción:

Antes de que los lenguajes como JPQL llegarán a estandarizarse, el método más común para la construcción de consultas era a través de un API de programación.

Con la llegada de JPQL los API de construcción de consultas se siguen manteniendo debido a que dan acceso a unos características adicionales que no proporciona todavía JPQL

Criteria nos permite construir consultas que estandarizan muchos de las características que existen en aplicaciones con persistencia de datos.

Criteria no es simplemente una traducción de JPQL al lenguaje de programación Java

Criteria adopta las mejores prácticas como por ejemplo encadenamiento de métodos y hace un uso completo de las características del lenguaje de programación Java


domingo, 20 de diciembre de 2015

JPA - Lenguaje JPQL II (continuación)

Tipos de Sentencias:

  1. SENTENCIAS SELECT
  2. SENTENCIAS AGGREGATE
  3. SENTENCIAS UPDATE
  4. SENTENCIAS DELETE

Seguimos aprendiendo sobre el resto de sentencias que podemos encontrarnos: Aggregate, Update y Delete

JPA - Lenguaje JPQL


El Java Persistence Query Language (JPQL) es el lenguaje estándar de consultas de JPA. Es un lenguaje diseñado para combinar la simplicidad de la semántica y sintaxis del lenguaje SQL con la expresividad de un lenguaje orientado a objetos.

Introducción:

JPQL no es SQL. A pesar de las similitudes en los dos lenguajes en términos de estructura y palabras clave hay diferencias importantes.

Las similitudes en los lenguajes son intencionadas ya que permite a los desarrolladores con conocimientos de SQL que la curva de aprendizaje sea menor, sin embargo, la naturaleza orientada a objetos del lenguaje JPQL requiere un manera de pensar diferente.

JPQL es un lenguaje de consulta de entidades/objetos en lugar de tablas y registros. El lenguaje nos proporciona una manera de expresar consultas en términos de entidades y sus relaciones operando sobre las entidades en lugar de sobre el modelo de BBDD.

JPQL es portable, es decir, puede ser traducido al dialecto SQL utilizado por la mayoría de BBDD


JPQL permite abstraernos de la BBDD, es decir, las consultas son escritas sobre el modelo de entidades/objetos sin necesidad de conocer como estas son mapeadas a la BBDD.


Entradas populares