¿Cuál es la diferencia entre RDF y OWL? [cerrado]

191

Estoy tratando de comprender el concepto de Web Semántica. Me resulta difícil entender cuál es exactamente la diferencia entre RDF y OWL. ¿OWL es una extensión de RDF o estas dos son tecnologías totalmente diferentes?

usuario32262
fuente
Personalmente, encontré esta plataforma de diapositivas bastante útil y comprensible: slideshare.net/rlovinger/rdf-and-owl
dgorissen

Respuestas:

272

La web semántica viene en capas. Este es un resumen rápido de los que creo que te interesan.

Actualización : Tenga en cuenta que RDFS se utiliza para definir la estructura de los datos, no OWL. OWL describe relaciones semánticas sobre las que la programación normal, como una estructura C, no se preocupa y está más cerca de la investigación de IA y la teoría de conjuntos.

Triples y URI

Subject - Predicate - Object

Estos describen un solo hecho. En general, los URI se usan para el sujeto y el predicado. El objeto es otro URI o un literal, como un número o una cadena. Los literales pueden tener un tipo (que también es un URI), y también pueden tener un idioma. Sí, esto significa que los triples pueden tener hasta 5 bits de datos.

Por ejemplo, un triple podría describir el hecho de que Charles es el padre de Harry.

<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .

Los triples son la normalización de la base de datos llevada a un extremo lógico. Tienen la ventaja de que puede cargar triples de muchas fuentes en una base de datos sin reconfiguración.

RDF y RDFS

La siguiente capa es RDF: el marco de descripción de recursos. RDF define alguna estructura extra para triplicar. Lo más importante que RDF define es un predicado llamado "rdf: type". Esto se usa para decir que las cosas son de ciertos tipos. Todos usan rdf: type, lo que lo hace muy útil.

RDFS (RDF Schema) define algunas clases que representan el concepto de sujetos, objetos, predicados, etc. Esto significa que puede comenzar a hacer declaraciones sobre clases de cosas y tipos de relación. En el nivel más simple, puede indicar cosas como http://familyontology.net/1.0#hasFather es una relación entre una persona y una persona. También le permite describir en texto legible para humanos el significado de una relación o una clase. Este es un esquema. Le dice usos legales de varias clases y relaciones. También se usa para indicar que una clase o propiedad es un subtipo de un tipo más general. Por ejemplo, "HumanParent" es una subclase de "Persona". "Loves" es una subclase de "Knows".

Serializaciones RDF

RDF se puede exportar en varios formatos de archivo. El más común es RDF + XML pero esto tiene algunas debilidades.

N3 es un formato no XML que es más fácil de leer, y hay algunos subconjuntos (Turtle y N-Triples) que son más estrictos.

Es importante saber que RDF es una forma de trabajar con triples, NO los formatos de archivo.

XSD

XSD es un espacio de nombres utilizado principalmente para describir tipos de propiedades, como fechas, enteros, etc. Generalmente se ve en los datos RDF que identifican el tipo específico de un literal. También se usa en esquemas XML, que es un caldero de peces ligeramente diferente.

BÚHO

OWL agrega semántica al esquema. Le permite especificar mucho más sobre las propiedades y clases. También se expresa en triples. Por ejemplo, puede indicar que "Si A es Casado con B", esto implica "B es Casado con A". O que si " C es un anticipador de D " y " D es un anticipador de E ", entonces " C es un anticipador de E ". Otra cosa útil que Owl agrega es la capacidad de decir que dos cosas son iguales, esto es muy útil para unir datos expresados ​​en diferentes esquemas. Puede decir que la relación "engendrada" en un esquema es búho: sameAs "engendrado" en algún otro esquema. También puede usarlo para decir que dos cosas son iguales, como que "Elvis Presley" en wikipedia es el mismo en la BBC.

También puede usar el OWL para inferir hechos implícitos, como " C isAncestorOf E ".

Christopher Gutteridge
fuente
21
Aquí hay una imagen de las capas de la Web Semántica: w3.org/2001/12/semweb-fin/swlevels.png Solo como referencia.
Timo Westkämper
8
Una parte de esto que todavía no está clara para mí es que parece haber cierta superposición entre lo que RDFS y OWL pueden expresar. Por ejemplo, un búho: Class puede ser muy similar a un rdfs: Class. (Por ejemplo, una entidad de tipo owl: Class es a menudo el tema de varios predicados RDFS como rdfs: comment y rdfs: subclassOf.) Me cuesta entender cómo OWL es una capa superior a RDFS, porque cuando se trata de definiendo clases, se parece más a una forma de enriquecer lo que podría hacer con RDFS.
Ian Griffiths
Dependiendo del perfil OWL / OWL-2 que use, tiene la capacidad 'adicional' de enriquecer su base de conocimiento con axiomas DL (por ejemplo, restricciones de propiedad, desunión y muchos más).
Zhubarb
44
@IanGriffiths: de hecho, bajo la semántica OWL2, owl: Class y rdfs: Class (así como varios pares más sorprendentes) son equivalentes: answers.semanticweb.com/questions/30954/…
Vladimir Alexiev
... OWL, RDFS, XSD ... son lenguajes complementarios ... cada uno juega un papel en la descripción de su dominio y todos se unen para enriquecerlo ...
Sergio
82

En breve:

  • RDF define cómo escribir cosas
  • OWL define qué escribir

Como escribió el póster anterior, RDF es una especificación que le dice cómo definir triples.

El problema es que RDF le permite definir todo, por lo que podría componer una declaración como esta:

| subject | predicate | object |
|---------|-----------|--------|
| Alex    | Eats      | Apples |
| Apples  | Eats      | Apples |
| Apples  | Apples    | Apples |

Estos triples forman documentos RDF válidos.

Pero, semánticamente, comprende que estas declaraciones son incorrectas y que RDF no puede ayudarlo a validar lo que ha escrito.

Esta no es una ontología válida.

La especificación OWL define exactamente lo que puede escribir con RDF para tener una ontología válida.

Las ontologías pueden tener varias propiedades.

Es por eso que OWL (ver 1) define varias versiones como OWL DL, OWL Lite, OWL Full.

alexkr
fuente
28
Pero tenga en cuenta que OWL no limitará lo que puede poner en su almacén RDF: la información del esquema OWL se usa principalmente para inferencia, no para imponer restricciones.
ADN
32

RDF, RDFS y OWL son medios para expresar información o conocimiento cada vez más complejo. Todos ellos se pueden serializar en sintaxis RDF / XML (o cualquier otra sintaxis de serialización RDF como Turtle o N3, por ejemplo).

Estas tecnologías están relacionadas y se supone que son interoperables, sin embargo, tienen orígenes diferentes, quizás por eso la relación entre ellas es complicada de entender. La elección de uno u otro depende de la complejidad que requiera la situación que está modelando.

Resumen de expresividad

RDF : Representación directa, centrada en las instancias y en la asignación a sus tipos ( rdf:type). Es posible definir propiedades personalizadas para vincular datos y crear triples. Los datos RDF se consultan con SPARQL. Ejemplo de RDF serializado en Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .

RDFS: Algunas situaciones no se modelan fácilmente solo con RDF, a veces es interesante representar relaciones más complejas como las subclases ( el tipo de un tipo ), por ejemplo. RDFS proporciona medios especiales para representar tales casos, con construcciones como rdfs:subClassOf, rdfs:rangeo rdfs:domain. Idealmente, un razonador puede comprender la semántica de RDFS y expandir el número de triples en función de las relaciones: por ejemplo, si tiene los triples John a Many Man rdfs:subClassOf Humantambién debería generar el triple John a Human. Tenga en cuenta que esto no es posible hacerlo solo con RDF. Los datos RDFS se consultan utilizando SPARQL. Ejemplo de RDFS serializado en Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:Man    rdfs:subClassOf    :Human .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .
# After reasoning
:john    rdf:type    :Human .

BÚHO: El nivel más alto de expresividad. La relación entre clases se puede modelar formalmente en base a lógicas descriptivas (teoría matemática). OWL depende en gran medida del razonador, es posible expresar construcciones complejas, como propiedades encadenadas, por ejemplo, o restricción entre clases. OWL sirve para construir ontologías o esquemas en la parte superior de los conjuntos de datos RDF. Como OWL se puede serializar como RDF / XML, es teóricamente posible consultarlo a través de SPARQL, pero es mucho más intuitivo consultar una ontología de OWL con una consulta DL (que generalmente es una expresión de clase OWL estándar). Ejemplo de construcciones OWL serializadas en Turtle.

@prefix : <http://www.example.org/> .
:livesIn    rdf:type    owl:DatatypeProperty .
:Human    rdf:type    owl:Class .
:Man   rdf:type    owl:Class .
:Man    rdfs:subClassOf    :Human .
:John    rdf:type    :Man . 
:John    rdf:type    owl:NamedIndividual .
loopasam
fuente
2
La subclase no es "el tipo de un tipo": es una metaclase. "X a Y. Y a Z." es diferente de "X a Y. Y subClassOf Z"
Vladimir Alexiev
14

En primer lugar, y como se ha señalado anteriormente, el búho se puede serializar en RDF.

En segundo lugar, OWL agrega capacidad ontológica a RDF (que por sí solo proporciona una capacidad extremadamente limitada para la representación formal de conocimiento), al proporcionar el aparato para definir los componentes de su triple utilizando lógica de descripción formal de primer orden computable. A eso se refieren los carteles cuando hablan de "riqueza semántica".

En tercer lugar, es importante darse cuenta de que en OWL-Full (para OWL 1) rdfs: class y owl: class son equivalentes y en OWL-DL, owl: class es una subclase de rdfs: class. En efecto, esto significa que puede usar una ontología OWL como esquema para RDF (que no requiere esquemas formalmente).

Espero que eso ayude a aclarar más.

Nico Adams
fuente
Muy buena publicación ... Quiero guardar triples RDF en Oracle 11g, ¿puedo usar OWL como esquema para mi RDF?
Saad
10

Cuando utiliza el término RDF, debe distinguir dos cosas:

  1. Puede referirse a RDF como concepto :

    Una forma de describir cosas / lógica / cualquier cosa usando colecciones de triples.

    Ejemplo:

    "Anna tiene manzanas". "Las manzanas son saludables".

    Arriba tienes dos triples que describen dos recursos "Anna" y "manzanas". El concepto de RDF (Marco de descripción de recursos) es que puede describir recursos (cualquier cosa) con conjuntos de solo 3 palabras (términos). En este nivel, no le importa cómo almacena la información, si tiene una cadena de 3 palabras, o una pintura en una pared, o una mesa con 3 columnas, etc.

    En este nivel conceptual, lo único importante es que puede representar cualquier cosa que desee utilizando declaraciones triples.

  2. Puedes referirte a RDF como vocabulario

    Un vocabulario es solo una colección de definiciones de términos almacenadas en un archivo o en algún lugar. Estos términos definidos tienen el propósito de ser reutilizados generalmente en otras descripciones para que las personas puedan describir los datos (recursos) más fácilmente y de manera estándar.

    En la web puede encontrar algunos vocabularios estándar como:

    RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )

    RDFS ( https://www.w3.org/2000/01/rdf-schema# )

    OWL ( https://www.w3.org/2002/07/owl )

    El vocabulario RDF define términos que lo ayudan a describir (en el nivel más básico posible) individuos / instancias de clases. Ejemplo: rdf: type, rdf: Property.

    Con rdf: type puede describir que algún recurso es una instancia de una clase:

     <http://foo.com/anna> rdf:type <http://foo.com/teacher> 
    

    Por lo tanto, el vocabulario RDF tiene términos que se dirigen a descripciones básicas de instancias de clase y algunas otras descripciones (como la definición de declaración triple o la definición de predicado ... en general, cosas relacionadas con el concepto RDF).

    El vocabulario RDFS tiene definiciones de términos que lo ayudan a describir clases y relaciones entre ellos. El vocabulario RDFS no se preocupa por las instancias de clases (individuos) como el vocabulario RDF. Ejemplo: la propiedad rdfs: subClassOf que puede usar para describir que una clase A es una subclase de clase B.

    Los vocabularios RDF y RDFS dependen uno del otro. RDF define sus términos usando RDFS, y RDFS usa RDF para definir sus propios términos.

    Los vocabularios RDF / RDFS proporcionan términos que pueden usarse para crear descripciones muy básicas de recursos. Si desea tener descripciones más complejas y precisas, debe utilizar el vocabulario OWL.

El vocabulario de OWL viene con un conjunto de nuevos términos dirigidos a descripciones más detalladas. Estos términos se definen usando términos de vocabularios RDF / RDFS.

owl:ObjectProperty a rdfs:Class ;
                   rdfs:label "ObjectProperty" ;
                   rdfs:comment "The class of object properties." ;
                   rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                   rdfs:subClassOf rdf:Property .

owl:DatatypeProperty a rdfs:Class ;
                     rdfs:label "DatatypeProperty" ;
                     rdfs:comment "The class of data properties." ;
                     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                     rdfs:subClassOf rdf:Property .

 owl:TransitiveProperty a rdfs:Class ;
                        rdfs:label "TransitiveProperty" ;
                        rdfs:comment "The class of transitive properties." ;
                        rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                        rdfs:subClassOf owl:ObjectProperty .

Como puede ver arriba, el vocabulario OWL amplía el concepto de rdf: Property creando nuevos tipos de Propiedades que son menos abstractas y pueden proporcionar descripciones más precisas de los recursos.

Conclusiones:

  1. RDF es un concepto o una forma de describir recursos utilizando conjuntos de triples.
  2. Los triples RDF se pueden almacenar en diferentes formatos (XML / RDF, Turtle, etc.)
  3. El concepto de RDF es el modelo base de todas las tecnologías y estructuras web semánticas (como vocabularios).
  4. RDF también es un vocabulario que, junto con el vocabulario RDFS, proporciona un conjunto de términos que pueden usarse para crear descripciones generales / abstractas de recursos.
  5. OWL es un vocabulario creado con vocabularios RDF y RDFS que proporcionan nuevos términos para crear descripciones más detalladas de los recursos.
  6. Todos los vocabularios web semánticos (RDF, RDFS, OWL, etc.) se crean respetando el concepto RDF.
  7. Y, por supuesto, el vocabulario OWL tiene detrás de escena todo tipo de lógica y conceptos complejos que definen el lenguaje de ontología web. El vocabulario OWL es solo una forma de usar toda esa lógica en la práctica.
whitefang1993
fuente
9

RDF es una forma de definir un triple 'sujeto', 'predicado', 'valor' . Por ejemplo, si quiero decir,

"mi nombre es Pierre"

Yo escribiría

<mail:[email protected]> <foaf:name> "Pierre"

¿Ves el <foaf:name>? Es parte de la ontología FOAF . Una ontología es una forma formal de describir las propiedades, las clases de un tema determinado y OWL es una forma (RDF) de definir una ontología.

Utiliza C ++, Java, etc. para definir una clase, una subclase, un campo, etc.

class Person
{
    String email_as_id;
    String name;
}

RDF usa OWL para definir este tipo de declaraciones.

Otro lugar para hacer este tipo de preguntas: http://www.semanticoverflow.com/

Pierre
fuente
14
No está de acuerdo con: "RDF usa OWL para definir este tipo de declaraciones". RDF no utiliza OWL de ninguna manera. Esto es al revés: OWL usa el esquema RDF que usa RDF.
alexkr
@Stefano ¿Dónde encuentran gente para correr? Esa es la verdadera pregunta.
Pascal Thivent
7

Estoy tratando de comprender el concepto de Web Semántica. Me resulta difícil entender cuál es exactamente la diferencia entre RDF y OWL. ¿OWL es una extensión de RDF o estas dos son tecnologías totalmente diferentes?

En resumen, sí, se podría decir que OWL es una extensión de RDF.

Con más detalle, con RDF puede describir un gráfico dirigido definiendo triples sujeto-predicado-objeto. El sujeto y el objeto son los nodos, el predicado es el borde o, en otras palabras, el predicado describe la relación entre el sujeto y el objeto. Por ejemplo :Tolkien :wrote :LordOfTheRingso:LordOfTheRings :author :Tolkien, etc. Los sistemas de datos vinculados usan estos triples para describir gráficos de conocimiento y proporcionan formas de almacenarlos, consultarlos. Ahora, estos son sistemas enormes, pero puedes usar RDF en proyectos más pequeños. Cada aplicación tiene un idioma específico de dominio (o por términos DDD lenguaje ubicuo). Puede describir ese lenguaje en su ontología / vocabulario, para que pueda describir el modelo de dominio de su aplicación con un gráfico, que puede visualizar para mostrarlo a las personas de negocios, hablar sobre las decisiones comerciales basadas en el modelo y construir la aplicación en la parte superior de eso. Puede vincular el vocabulario de su aplicación a los datos que devuelve y a un vocabulario conocido por los motores de búsqueda, como microdatos.(por ejemplo, puede usar HTML con RDFA para hacer esto), y así los motores de búsqueda pueden encontrar sus aplicaciones fácilmente, porque el conocimiento sobre lo que hace será procesable por máquina. Así es como funciona la web semántica. (Al menos así es como me lo imagino).

Ahora, para describir aplicaciones orientadas a objetos, necesita tipos, clases, propiedades, instancias, etc. Con RDF solo puede describir objetos. RDFS (esquema RDF) le ayuda a describir clases, herencia (basado en objetos de c.), Pero es demasiado amplio. Para definir restricciones (por ejemplo, un niño por familia china) necesita otro vocabulario. OWL (lenguaje de ontología web) hace este trabajo. OWL es una ontología que puede usar para describir aplicaciones web. Integra los XSD simplesTypes.
Así RDF -> RDFS -> OWL -> MyWebAppes el orden de describir su aplicación web de una manera cada vez más específica.

inf3rno
fuente
Gracias, esto parece muy útil. Creo que está diciendo (por favor, avíseme si he entendido esto correctamente) que (1). RDF permite especificar relaciones directas entre objetos ( personA friendsWith personB), que (2) RDFS extiende esto al proporcionar la capacidad de especificar relaciones entre object classes, es decir class Person <has 'friendsWith' relationship> Person. Que permite a continuación la frase RDF a través de la clase: A:typeof:person friendsWith B:<typeof:person>. Y (3), ¿OWL le permite especificar restricciones de las relaciones?
Zach Smith
es decir, una persona puede tener un máximo de 4 "amigos con" conexiones`?
Zach Smith
@ZachSmith Sí.
inf3rno
Qué buena respuesta, gracias. Hace que sea más fácil leer todo lo demás en esta página.
Zach Smith
@ZachSmith yw.
inf3rno
7

RDFS le permite expresar las relaciones entre las cosas al estandarizar en un formato flexible de base triple y luego proporcionar un vocabulario ("palabras clave" como rdf:typeo rdfs:subClassOf) que puede usarse para decir cosas.

OWL es similar, pero más grande, mejor y más malo. OWL le permite decir mucho más sobre su modelo de datos, le muestra cómo trabajar de manera eficiente con consultas de bases de datos y razonadores automáticos, y proporciona anotaciones útiles para llevar sus modelos de datos al mundo real.

Primera diferencia: vocabulario

De las diferencias entre RDFS y OWL, la más importante es que OWL proporciona un vocabulario mucho más amplio que puedes usar para decir cosas .

Por ejemplo, OWL incluye todos sus viejos amigos de RDFS tales como rdfs:type, rdfs:domain, y rdfs:subPropertyOf. ¡Sin embargo, OWL también te da nuevos y mejores amigos! Por ejemplo, OWL le permite describir sus datos en términos de operaciones de conjuntos:

Example:Mother    owl:unionOf     (Example:Parent, Example:Woman)

Le permite definir equivalencias entre bases de datos:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Le permite restringir los valores de propiedad:

Example:MyState     owl:allValuesFrom     (State:NewYork, State:California, …)

de hecho, ¡OWL proporciona mucho vocabulario nuevo y sofisticado para usar en el modelado y razonamiento de datos que tiene su propia lección!

2da diferencia: rigidez

Otra diferencia importante es que, a diferencia de RDFS, OWL no solo le dice cómo puede usar cierto vocabulario, sino que también le dice cómo no puede usarlo. Por el contrario, RDFS le brinda todo lo que necesita en el mundo en el que puede agregar casi cualquier triple que desee.

Por ejemplo, en RDFS, cualquier cosa que desee puede ser una instancia de rdfs:Class. Puede decidir decir que Beagle es un rdfs:Classy luego decir que Fido es una instancia de Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

A continuación, puede decidir que le gustaría decir cosas sobre los beagles, tal vez quiera decir que Beagle es una instancia de perros criados en Inglaterra :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Lo interesante de este ejemplo es que Example:Beaglese está utilizando como clase y como instancia . Beagle es una clase de la que Fido es miembro, pero Beagle es en sí mismo miembro de otra clase: Things Bred in England.

En RDFS, todo esto es perfectamente legal porque RDFS realmente no restringe qué declaraciones puede y no puede insertar. En OWL, por el contrario, o al menos en algunos sabores de OWL, las declaraciones anteriores en realidad no son legales: simplemente no se le permite decir que algo puede ser tanto una clase como una instancia.

Esta es entonces una segunda gran diferencia entre RDFS y OWL. RDFS permite un juego gratuito para todos , todo se convierte en un mundo lleno de Wild West, Speak-Easies y Salvador Dali. El mundo de OWL impone una estructura mucho más rígida.

3ª diferencia: anotaciones, los meta-meta-datos

Suponga que ha pasado la última hora creando una ontología que describa su negocio de fabricación de radio. Durante el almuerzo, su tarea es crear una ontología para su negocio de fabricación de relojes. Esta tarde, después de un buen café, su jefe ahora le dice que tendrá que construir una ontología para su negocio altamente rentable de radio reloj. ¿Hay alguna manera de reutilizar fácilmente el trabajo de la mañana?

OWL hace que hacer cosas como esta sea muy, muy fácil. Owl:Importes la que se uso en la situación radio-reloj, pero OWL también le da una rica variedad de anotaciones tales como owl:versionInfo, owl:backwardsCompatibleWithyowl:deprecatedProperty , lo que puede ser fácilmente modelos de datos de enlace usado en un todo coherente entre sí.

A diferencia de RDFS, OWL seguramente satisfará todas sus necesidades de modelado de meta-meta-datos.

Conclusión

OWL te ofrece un vocabulario mucho más amplio con el que jugar, lo que facilita decir cualquier cosa que quieras decir sobre tu modelo de datos. Incluso le permite adaptar lo que dice en función de las realidades computacionales de las computadoras actuales y optimizar para aplicaciones particulares (para consultas de búsqueda, por ejemplo). Además, OWL le permite expresar fácilmente las relaciones entre diferentes ontologías utilizando un marco de anotación estándar .

Todas estas son ventajas en comparación con RDFS, y generalmente valen la pena el esfuerzo adicional que se necesita para familiarizarse con ellas.

Fuente: RDFS vs. OWL

Bilal
fuente
4

En el modelo de objeto de documento WC3, un documento es algo abstracto: un elemento con texto, comentarios, atributos y otros elementos anidados dentro de él.

En la web semántica, tratamos con un conjunto de "triples". Cada triple es:

  • un sujeto, la cosa es la triple acerca la identificación, la clave principal de base de datos - un URI; y
  • el predicado, el "verbo", la "propiedad", la "columna de la base de datos" - otro URI; y
  • el objeto , un valor atómico o algún URI.

OWL es para la web semántica como lo son los esquemas para el modelo de objeto de documento W3C. Documenta el significado de los distintos URI y especifica cómo se utilizan de manera formal que puede ser verificada por una máquina. Una web semántica puede o no ser válida con respecto al OWL que le corresponde, así como un documento puede o no ser válido con respecto a un esquema.

RDF es para la web semántica como XML para el DOM: es una serialización de un conjunto de triples.

Por supuesto, RDF generalmente se serializa como documentos XML ... pero es importante comprender que RDF no es lo mismo que "la serialización XML de RDF".

Del mismo modo, OWL se puede serializar usando OWL / XML, o (perdón por esto) se puede expresar como RDF, que generalmente se serializa como XML.

paulmurray
fuente
3

La pila web semántica básica ya se ha explicado mucho en este hilo. Me gustaría centrarme en la pregunta inicial y comparar RDF con OWL.

  • OWL es un superconjunto de RDF y RDF-S (en la parte superior)
  • OWL permite trabajar eficazmente con RDF y RDF-S
  • OWL tiene un vocabulario extendido
    • clases e individuos ("instancias")
    • propiedades y tipos de datos ("predicados")
  • Se requiere OWL para un razonamiento e inferencia adecuados
  • OWL viene en tres dialectos lite, descripción lógica y completa

Usar OWL es esencial para obtener más significado (razonamiento e inferencia) con solo conocer algunos hechos. Esta información "creada dinámicamente" se puede utilizar para consultas acordes como en SPARQL.

Algunos ejemplos mostrarán que eso realmente funciona con OWL: estos se han tomado de mi charla sobre los conceptos básicos de la web semántica en el TYPO3camp Mallorca, España en 2015.

equivalentes por reglas

Spaniard: Person and (inhabitantOf some SpanishCity)

Esto significa que a Spaniarddebe ser a Person(y por lo tanto hereda todas las propiedades en la parte de inferencia) y debe vivir en al menos una (o más)SpanishCity .

significado de las propiedades

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

El ejemplo muestra el resultado de aplicar inverseOfa las propiedades isPartOfy contains.

  • inverso
  • simétrico
  • transitivo
  • desarticular
  • ...

cardinalidades de propiedades

<:hasParent owl:cardinality “2“^^xsd:integer>

Esto define que cada uno Thing(en este escenario probablemente a Human) tiene exactamente dos padres: la cardinalidad se asigna a la hasParentpropiedad.

  • mínimo
  • máximo
  • exacto
Oliver Hader
fuente
2

El Marco de Descripción de Recursos (RDF) es un poderoso lenguaje formal de representación del conocimiento y un estándar fundamental de la Web Semántica. Tiene su propio vocabulario que define conceptos y relaciones centrales (por ejemplo, rdf: type corresponde a la relación isA), y un modelo de datos que permite enunciados interpretables por máquina en forma de sujeto-predicado-objeto (resource-property-value) triples, llamados RDF triples, como picture-pictures-book. La extensión del vocabulario RDF con los conceptos requeridos para crear vocabularios controlados y ontologías básicas se llama esquema RDF o lenguaje de descripción de vocabulario RDF (RDFS). RDFS hace posible escribir declaraciones sobre clases y recursos, y expresar estructuras taxonómicas, como a través de relaciones de superclase-subclase.

Los dominios de conocimiento complejos requieren más capacidades que las disponibles en RDFS, lo que condujo a la introducción de OWL . OWL admite relaciones entre clases (unión, intersección, desunión, equivalencia), restricciones de cardinalidad de propiedad (mínimo, máximo, número exacto, por ejemplo, cada persona tiene exactamente un padre), un rico tipeo de propiedades, características de propiedades y propiedades especiales (transitivo, simétrica, funcional, funcional inversa, por ejemplo, A ex: hasAncestor B y B ex: hasAncestor C implica que A ex: hasAncestor C), especificando que una propiedad dada es una clave única para instancias de una clase particular, y restricciones de dominio y rango para propiedades.

Leslie Sikos
fuente