Upload
semanticwebbuilder
View
1.106
Download
4
Embed Size (px)
DESCRIPTION
¿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.
Citation preview
Desarrollo Orientado a la Semántica
Agenda
¿Quién es INFOTEC?1
La Web Semántica3
¿Qué es semántica?2
SemanticWebBuilder Suite5
Desarrollo Orientado a la Semántica4
Preguntas6
¿Quién es INFOTEC?
Somos un Centro Público de Investigación,Innovación y Desarrollo Tecnológico delCONACYT que contribuye a lacompetitividad del Gobierno y de lasPyME’s, a través del uso estratégico deTecnologías de Información yComunicaciones.
Misión de la Institución
¿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 devista 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
¿Qué es Semántica?
*RAE -- Real Academia Española
• Es la manera en que percibimos y entendemos el mundoque nos rodea.
• Siempre se basa en las relaciones entre los objetos queconocemos del mundo.
• Si no conocemos algo, para nosotros no existe.
• Cuando descubrimos algo nuevo, lo relacionamos con lo queconocemos.
• Nuestra semántica es conocimiento y tiene construccionescomunes a nuestro contexto.
¿Qué es Semántica?
¿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.
¿Qué es Semántica?
hecha de
tiene
hecha de
usada para
es una
tiene
tiene
pertenece a
Cómo percibimos y describimos el mundo
¿Qué es Semántica?
Cómo Representar el mundo en una máquina (IA)
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 susrelaciones [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óncompartida”. 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)
La Web Semántica
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.
• Hoy en día, las ideas propuestas por Berners-Lee sobre la Web Semántica [Berners-Lee][Shadbolt ] son casi una realidad.
• La disponibilidad de recursos en la Web, el poder de cómputo, las técnicas y estándaressemánticos como RDF [Klyne] y OWL [Motik] permiten a los grupos de investigación ydesarrollo construir poderosos mecanismos de software para representar y explorar laWeb de manera Semántica.
• Actualmente existen herramientas que permiten añadir Semántica a las piezas de códigoo páginas Web existentes [Chiu] [Bizer] [Story] [Cowan et.al], sin embargo, se cuenta conpocas herramientas que permiten la creación de código totalmente semántico desde suconceptualización [Koide ] [Völkel] [Kalyanpur].
• Más aún, sólo algunas herramientas integran una metodología y un API de desarrollopara construir aplicaciones semánticas [Solís et.al].
Como esta La Web Semántica hoy
?
El problema…
Web Semántica
DBPedia.org
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.
Componentes de la Web Semántica
RDF es un modelo de datos para los recursos y las relaciones que se puedanestablecer entre ellos. Aporta una semántica básica para este modelo de datos quepuede representarse mediante XML.
RDF proporciona información descriptiva simple sobre los recursos que se encuentranen la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, coleccionespersonales de música, fotos, eventos, etc.
Triple:
Sujeto – Propiedad – Objeto
¿Qué es Resource Definition Framework?
<casa><hecha de><piedra><casa><hecha de><madera><casa><usada para><vivir><casa><tiene><habitación><casa><es una><construcción><casa><pertenece a><Homero Simpson>< habitación><tiene><puerta>< habitación><tiene><ventana>
TRIPLAS
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los recursos de la Web Semántica utilizando distintas fuentes datos.
¿Qué es SPARQL?
OWL es un mecanismo para desarrollar temas o vocabularios específicos en los cualesasociar los recursos. Lo que hace OWL es proporcionar un lenguaje para definirontologí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 yla relación entre ellos.
Específicamente OWL es un vocabulario para describir las propiedades y las clases delos recursos RDF, ya que permite establecer jerarquías de generalización entre dichaspropiedades y clases, además de describir relaciones entre clases como disyunción,cardinalidad (por ejemplo "únicamente uno"), igualdad, tipologías de propiedadesmás complejas, caracterización de propiedades (por ejemplo simetría) o clasesenumeradas.
¿Qué es Ontology Web Language?
Desarrollo Orientado a la Semántica
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
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.
Evolución de los paradigmas de desarrollo
Desarrollo Orientado a la Semántica
Modelos Ontológicos (conocimiento)
Desarrollo Dirigido por Modelos
Modelos orientados a objetos (relaciones)
Programación Orientada a Objetos
Lenguajes de Programación (objetos)
Niv
el d
e a
bst
racc
ión
Nive
l de
com
ple
jidad
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?
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?
Proceso de Desarrollo Orientado a la Semántica
Modelar el Recurso
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?
Proceso de Desarrollo Orientado a la Semántica
Generar Código
Proceso de Desarrollo Orientado a la Semántica
Generar Código
Proceso de Desarrollo Orientado a la Semántica
Formatos de representación de ontologías
Estructura de árbol extensible
Resource, Literal, Triple
Class, DataType, Relation, SubClass
Class, ObjectProperty, InverseOf
Generar Código
Ventajas
• Se enfocan los esfuerzos del equipo de desarrollo en el correcto modelado del dominio másque en la definición y programación del sistema
• El modelo del sistema es comprensible por todas las partes involucradas en el desarrollo, puesse 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ódigoextendido 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 yTripleStores 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 realizarconsultas complejas y muy específicas
SemanticWebBuilder es
una plataforma para el
desarrollo de aplicaciones
y portales semánticos.
¿Qué es SemanticWebBuilder?
SemanticWebBuilder Suite
SWBPlatform
SWBPortal
SWBProcess
SWBModeler
SWBOntology Editor
Utilerías SWBP
Plug –In(MS Office, Open Office)
Componentes SWB
Soluciones Llave en mano
Conclusiones
Conclusiones
• El Desarrollo Orientado a la Semántica es un nuevo paradigma que utiliza elconocimiento 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ógicoy la persistencia en RDF es asegurada de manera nativa.
• La suite de productos de SemanticWebBuilder® permite aplicar de maneraeficiente 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® sepueden desarrollar de manera rápida aplicaciones y Sitios Web Semánticos,cuya información es almacenada en un modelo de triplas y puede serconsultada a través de un endpoint.
¿Preguntas?
http://www.infotec.com.mx
Facebook/HersalVJ
Facebook/Semius.SemanticWebBuilder
Graciashttp://www.semanticwebbuilder.org.mx
Twitter/hersalvj
Twitter/Semius_SWB