¿Cómo podemos desarrollar código orientado a la semántica? En esta presentación podrás conocer cómo y cuáles son las ventajas de hacerlo de esta manera.
4. Misión de la Institución
Somos un Centro Público de Investigación,
Innovación y Desarrollo Tecnológico del
CONACYT que contribuye a la
competitividad del Gobierno y de las
PyME’s, a través del uso estratégico de
Tecnologías de Información y
Comunicaciones.
6. ¿Qué es Semántica?
RAE > Semántico(ca)
• Perteneciente o relativo a la significación de las palabras.
• Estudio del significado de los signos lingüísticos y de sus combinaciones, desde un punto de
vista sincrónico o diacrónico.
RAE > Significación
• Sentido de una palabra o frase
RAE > Significado
• Significación o sentido de una palabra o frase
• Contenido semántico de cualquier tipo de signo, condicionado por el sistema y el contexto
RAE > Sentido
• Entendimiento o razón, en cuanto discierne las cosas
• Modo particular de entender algo, o juicio que se hace de ello
*RAE -- Real Academia Española
7. ¿Qué es Semántica?
• Es la manera en que percibimos y entendemos el mundo
que nos rodea.
• Siempre se basa en las relaciones entre los objetos que
conocemos del mundo.
• Si no conocemos algo, para nosotros no existe.
• Cuando descubrimos algo nuevo, lo relacionamos con lo que
conocemos.
• Nuestra semántica es conocimiento y tiene construcciones
comunes a nuestro contexto.
8. ¿Qué es Semántica?
Cómo percibimos y describimos el mundo
Una casa es una construcción de piedra y madera que sirve
para vivir.
Está dividida en habitaciones con puertas y ventanas para el
acceso de los habitantes.
9. ¿Qué es Semántica?
Cómo percibimos y describimos el mundo
hecha de usada para
hecha de
tiene tiene
es una
pertenece a
tiene
11. Qué es Semántica
Ontología
Ontología (Filosofía / Lógica)
• Conjunto de entidades presupuestas en una teoría [1].
Ontología (Ciencias de la Computación)
• Modelo de datos que representa un conjunto de conceptos dentro de un dominio y sus
relaciones [1].
Ontología (Ciencias de la Computación)
• En teoría, una ontología es “una especificación formal y explícita de una conceptualización
compartida”. Provee un vocabulario compartido que puede usarse para modelar un dominio
– esto es, el tipo de objetos y/o conceptos que existen, sus propiedades y relaciones [2].
[1] Traducción de The free dictionary. http://www.thefreedictionary.com
[2] Wikipedia, the free encyclopedia. http://en.wikipedia.org/wiki/Ontology_(information_science)
13. La Web Semántica según Tim Berners Lee
Una web semántica es una red de datos que
pueden ser procesados directa o
indirectamente por máquinas.
Es una web extendida que permitirá a
humanos y máquinas trabajar en
cooperación mutua.
14. Como esta La Web Semántica hoy
• Hoyen día, las ideas propuestas por Berners-Lee sobre la Web Semántica [Berners-Lee]
[Shadbolt ] son casi una realidad.
• Ladisponibilidad de recursos en la Web, el poder de cómputo, las técnicas y estándares
semánticos como RDF [Klyne] y OWL [Motik] permiten a los grupos de investigación y
desarrollo construir poderosos mecanismos de software para representar y explorar la
Web de manera Semántica.
• Actualmente existen herramientas que permiten añadir Semántica a las piezas de código
o páginas Web existentes [Chiu] [Bizer] [Story] [Cowan et.al], sin embargo, se cuenta con
pocas herramientas que permiten la creación de código totalmente semántico desde su
conceptualización [Koide ] [Völkel] [Kalyanpur].
• Más aún, sólo algunas herramientas integran una metodología y un API de desarrollo
para construir aplicaciones semánticas [Solís et.al].
18. Componentes de la Web Semántica
No se trata de una inteligencia artificial mágica que permita a las máquinas entender
las palabras de los usuarios, es sólo la habilidad de una máquina para resolver
problemas bien definidos, a través de operaciones bien definidas que se llevarán
a cabo sobre datos existentes bien definidos.
Para obtener esa adecuada definición de los datos, la Web Semántica utiliza
esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a convertir la Web en
una infraestructura global en la que es posible compartir, y reutilizar datos y
documentos entre diferentes aplicaciones y usuarios.
19. ¿Qué es Resource Definition Framework?
RDF es un modelo de datos para los recursos y las relaciones que se puedan
establecer entre ellos. Aporta una semántica básica para este modelo de datos que
puede representarse mediante XML.
RDF proporciona información descriptiva simple sobre los recursos que se encuentran
en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones
personales de música, fotos, eventos, etc.
TRIPLAS
<casa><hecha de><piedra>
<casa><hecha de><madera>
<casa><usada para><vivir>
Triple: <casa><tiene><habitación>
<casa><es una><construcción>
Sujeto – Propiedad – Objeto <casa><pertenece a><Homero Simpson>
< habitación><tiene><puerta>
< habitación><tiene><ventana>
20. ¿Qué es SPARQL?
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los
recursos de la Web Semántica utilizando distintas fuentes datos.
21. ¿Qué es Ontology Web Language?
OWL es un mecanismo para desarrollar temas o vocabularios específicos en los cuales
asociar los recursos. Lo que hace OWL es proporcionar un lenguaje para definir
ontologías estructuradas que pueden ser utilizadas a través de diferentes sistemas.
Las ontologías incluyen definiciones de conceptos básicos en un campo determinado y
la relación entre ellos.
Específicamente OWL es un vocabulario para describir las propiedades y las clases de
los recursos RDF, ya que permite establecer jerarquías de generalización entre dichas
propiedades y clases, además de describir relaciones entre clases como disyunción,
cardinalidad (por ejemplo "únicamente uno"), igualdad, tipologías de propiedades
más complejas, caracterización de propiedades (por ejemplo simetría) o clases
enumeradas.
23. Desarrollo Orientado a la Semántica
El Desarrollo Orientado a la Semántica es un nuevo
paradigma de desarrollo que toma como punto de
partida el conocimiento de un dominio capturado en
una ontología para generar de manera automática la
arquitectura y funcionalidad básica de un sistema de
software cuyos objetos son persistentes de manera
nativa en RDF
24. Desarrollo Orientado a la Semántica
El Desarrollo Orientado a la Semántica tiene como objetivo el
proporcionar a los analistas y desarrolladores los siguientes
elementos:
• Una metodología de desarrollo basada en un lenguaje flexible y de alto
nivel para capturar los requerimientos del sistema, soportado por el estándar
OWL
•Un API Semántica para el desarrollo acelerado y fácil mantenimiento de
aplicaciones.
•Un mecanismo de transformación de modelos que permita explotar el API
semántica para la generación automática de aplicaciones.
25. Evolución de los paradigmas de desarrollo
Desarrollo Orientado a la Semántica
Modelos Ontológicos (conocimiento)
Nivel de complejidad
Nivel de abstracción
Desarrollo Dirigido por Modelos
Modelos orientados a objetos (relaciones)
Programación Orientada a Objetos
Lenguajes de Programación (objetos)
27. Proceso de Desarrollo Orientado a la Semántica
Programar Lógica Específica
• ¿Qué hará el nuevo recurso?
• ¿Qué modos de despliegue necesita?
• ¿El recurso será administrable?
• ¿Qué diseño tendrá el recurso?
28. Proceso de Desarrollo Orientado a la Semántica
Modelar el Recurso
• ¿Qué va a ser el nuevo recurso?
• ¿Qué objetos se relacionan con el recurso?
• ¿Que propiedades necesita tener el recurso?
• ¿Es necesaria una jerarquía de recursos?
• ¿Existen objetos que pueden ser reutilizados?
30. Proceso de Desarrollo Orientado a la Semántica
Generar Código
• ¿Dónde se colocará el nuevo código?
• ¿Qué paquete se va a crear?
• ¿Qué prefijo de la ontología se usará para generar código?
• ¿Qué otras ontologías se requieren?
33. Formatos de representación de ontologías
Generar Código
Class, ObjectProperty, InverseOf
Class, DataType, Relation, SubClass
Resource, Literal, Triple
Estructura de árbol extensible
34. Ventajas
• Se enfocan los esfuerzos del equipo de desarrollo en el correcto modelado del dominio más
que en la definición y programación del sistema
• El modelo del sistema es comprensible por todas las partes involucradas en el desarrollo, pues
se usan conceptos en un alto nivel de abstracción
• Un cambio en el modelo afecta al código base del sistema, pero un cambio en el código
extendido no afecta al modelo, lo que permite mantener y reutilizar la funcionalidad existente
• El API se programación semántica permite a los programadores trabajar con ontologías, RDF y
TripleStores sin requerir conocimientos profundos en esos tópicos
• Los recursos humanos y el tiempo necesarios para el desarrollo se reducen considerablemente
• Los datos de la aplicación se almacenan de manera semántica, por lo que es posible realizar
consultas complejas y muy específicas
35.
36. ¿Qué es SemanticWebBuilder?
SemanticWebBuilder es
una plataforma para el
desarrollo de aplicaciones
y portales semánticos.
37. SemanticWebBuilder Suite
SWBProcess SWBOntology
Editor
SWBModeler Utilerías SWBP
SWBPortal
Plug –In Componentes Soluciones
(MS Office, Open Office) SWB Llave en mano
SWBPlatform
39. Conclusiones
• El Desarrollo Orientado a la Semántica es un nuevo paradigma que utiliza el
conocimiento como punto de partida en el desarrollo de sistemas semánticos.
• En lugar de agregar metadatos o anotaciones al código de los desarrolladores,
el código es generado de manera automática a partir de un modelo ontológico
y la persistencia en RDF es asegurada de manera nativa.
• La suite de productos de SemanticWebBuilder® permite aplicar de manera
eficiente el proceso de Desarrollo Orientado a la Semántica, que consiste en a)
modelar los recursos; b) generar código y c) programar la lógica específica.
• Con el Desarrollo Orientado a la Semántica de SemanticWebBuilder® se
pueden desarrollar de manera rápida aplicaciones y Sitios Web Semánticos,
cuya información es almacenada en un modelo de triplas y puede ser
consultada a través de un endpoint.