Qual é a diferença entre RDF e OWL? [fechadas]

191

Estou tentando entender o conceito de Web Semântica. Estou achando difícil entender qual é exatamente a diferença entre RDF e OWL. OWL é uma extensão do RDF ou essas duas são tecnologias totalmente diferentes?

user32262
fonte
Eu pessoalmente achei este conjunto de slides bastante útil e compreensível: slideshare.net/rlovinger/rdf-and-owl
dgorissen

Respostas:

272

A web semântica vem em camadas. Este é um resumo rápido daqueles em que você está interessado.

Atualização : observe que o RDFS é usado para definir a estrutura dos dados, não o OWL. OWL descreve relações semânticas sobre as quais a programação normal, como uma estrutura C, não se preocupa e está mais próxima da pesquisa de IA e da teoria dos conjuntos.

Triplos e URIs

Subject - Predicate - Object

Eles descrevem um único fato. Geralmente, os URIs são usados ​​para o sujeito e o predicado. O objeto é outro URI ou literal, como um número ou sequência. Os literais podem ter um tipo (que também é um URI) e também podem ter um idioma. Sim, isso significa que os triplos podem ter até 5 bits de dados!

Por exemplo, um triplo pode descrever o fato de que Charles é o pai de Harry.

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

Triplos são a normalização do banco de dados levada ao extremo lógico. Eles têm a vantagem de poder carregar triplos de várias fontes em um banco de dados sem reconfiguração.

RDF e RDFS

A próxima camada é RDF - The Resource Description Framework. RDF define alguma estrutura extra para triplica. A coisa mais importante que o RDF define é um predicado chamado "rdf: type". Isso é usado para dizer que as coisas são de certos tipos. Todo mundo usa rdf: type, o que o torna muito útil.

RDFS (RDF Schema) define algumas classes que representam o conceito de assuntos, objetos, predicados etc. Isso significa que você pode começar a fazer declarações sobre classes de coisas e tipos de relacionamento. No nível mais simples, você pode indicar coisas como http://familyontology.net/1.0#hasFather é um relacionamento entre uma pessoa e uma pessoa. Também permite que você descreva em texto legível por humanos o significado de um relacionamento ou de uma classe. Este é um esquema. Indica usos legais de várias classes e relacionamentos. Também é usado para indicar que uma classe ou propriedade é um subtipo de um tipo mais geral. Por exemplo "HumanParent" é uma subclasse de "Person". "Loves" é uma subclasse de "Knows".

Serializações RDF

O RDF pode ser exportado em vários formatos de arquivo. O mais comum é o RDF + XML, mas isso tem alguns pontos fracos.

N3 é um formato não XML que é mais fácil de ler, e há alguns subconjuntos (Turtle e N-Triples) que são mais rígidos.

É importante saber que o RDF é uma maneira de trabalhar com triplos, NÃO com os formatos de arquivo.

XSD

XSD é um espaço para nome usado principalmente para descrever tipos de propriedades, como datas, números inteiros e assim por diante. Geralmente é visto em dados RDF identificando o tipo específico de um literal. Também é usado em esquemas XML, que é uma chaleira ligeiramente diferente de peixe.

CORUJA

OWL adiciona semântica ao esquema. Ele permite que você especifique muito mais sobre as propriedades e classes. Também é expresso em triplos. Por exemplo, pode indicar que "Se A isMarriedTo B", isso implica "B isMarriedTo A". Ou então, se " C forAncestorOf D " e " D forAncestorOf E ", " C forAncestorOf E" ". Outra coisa útil que a coruja acrescenta é a capacidade de dizer que duas coisas são iguais, isso é muito útil para juntar dados expressos em esquemas diferentes. Você pode dizer que o relacionamento" gerado "em um esquema é coruja: sameAs" fathered "in outro esquema.Você também pode usá-lo para dizer que duas coisas são iguais, como o "Elvis Presley" na wikipedia é o mesmo da BBC. Isso é muito emocionante, pois significa que você pode começar a juntar dados de vários sites (isso é "Dados vinculados").

Você também pode usar o OWL para inferir fatos implícitos, como " C isAncestorOf E ".

Christopher Gutteridge
fonte
21
Aqui está uma imagem das camadas da Web Semântica: w3.org/2001/12/semweb-fin/swlevels.png Apenas para referência.
Timo Westkämper
8
Uma parte disso que ainda não está clara para mim é que parece haver alguma sobreposição entre o que RDFS e OWL podem expressar. Por exemplo, uma coruja: Class pode se parecer muito com uma rdfs: Class. (Por exemplo, uma entidade do tipo owl: Class geralmente é objeto de vários predicados do RDFS, como rdfs: comment e rdfs: subclassOf.) Estou lutando para entender como o OWL é uma camada sobre o RDFS, porque quando se trata de Ao definir classes, parece mais uma maneira de enriquecer o que você poderia fazer com o RDFS.
Ian Griffiths
Dependendo do perfil OWL / OWL-2 usado, você tem a capacidade 'adicional' de enriquecer sua base de conhecimento com axiomas de DL (por exemplo, restrições de propriedade, desarticulação e muito mais).
Zhubarb 02/04
4
@IanGriffiths: de fato sob owl2 semântica, coruja: Classe e RDFS: Classe (bem como vários pares mais surpreendentes) são eqivalent: answers.semanticweb.com/questions/30954/...
Vladimir Alexiev
... OWL, RDFS, XSD ... são linguagens complementares ... cada um desempenha um papel na descrição do seu domínio e todos se unem para enriquecê-lo ...
Sergio
82

Em resumo:

  • RDF define como escrever coisas
  • OWL define o que escrever

Como o pôster anterior escreveu, RDF é uma especificação que explica como definir triplos.

O problema é que o RDF permite definir tudo, para que você possa compor uma declaração como esta:

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

Esses triplos formam documentos RDF válidos.

Mas, semanticamente, você entende que essas instruções estão incorretas e o RDF não pode ajudá-lo a validar o que você escreveu.

Esta não é uma ontologia válida.

A especificação OWL define exatamente o que você pode escrever com RDF para ter uma ontologia válida.

Ontologias podem ter várias propriedades.

É por isso que OWL (versão 1) define várias versões, como OWL DL, OWL Lite, OWL Full.

alexkr
fonte
28
Mas observe que o OWL não restringirá o que você pode colocar em seu armazenamento RDF - as informações do esquema OWL são usadas principalmente para inferência, não para impor restrições.
DNA
32

RDF, RDFS e OWL são meios para expressar informações ou conhecimentos cada vez mais complexos. Todos eles podem ser serializados na sintaxe RDF / XML (ou qualquer outra sintaxe de serialização RDF como Turtle ou N3, por exemplo).

Essas tecnologias são relacionadas e devem ser interoperáveis, mas têm origens diferentes, talvez por isso a relação entre elas seja complicada de entender. A escolha de um ou de outro depende de quanta complexidade a situação que você está modelando exige.

Resumo de expressividade

RDF : Representação direta, focada nas instâncias e no mapeamento para seus tipos ( rdf:type). É possível definir propriedades customizadas para vincular dados e criar triplos. Os dados RDF são consultados com o SPARQL. Exemplo de RDF serializado em Turtle:

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

RDFS: Algumas situações não são facilmente modeladas apenas pelo RDF, às vezes é interessante representar relações mais complexas, como subclasses ( o tipo de um tipo ), por exemplo. O RDFS fornece meios especiais para representar esses casos, com construções como rdfs:subClassOf, rdfs:rangeou rdfs:domain. Idealmente, um raciocínio pode entender a semântica do RDFS e expandir o número de triplos com base nas relações: por exemplo, se você tem os triplos John a Mane Man rdfs:subClassOf Humandeve gerar também o triplo John a Human. Observe que isso não é possível apenas com RDF. Os dados RDFS são consultados usando SPARQL. Exemplo de RDFS serializado no 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 .

OWL: O mais alto nível de expressividade. A relação entre classes pode ser formalmente modelada com base em lógicas descritivas (teoria matemática). OWL depende muito do raciocínio, é possível expressar construções complexas, como propriedades encadeadas, por exemplo, ou restrição entre classes. OWL serve para criar ontologias ou esquemas na parte superior dos conjuntos de dados RDF. Como o OWL pode ser serializado como RDF / XML, é teoricamente possível consultá-lo via SPARQL, mas é muito mais intuitivo consultar uma ontologia do OWL com uma consulta DL (que geralmente é uma expressão de classe OWL padrão). Exemplo de construções OWL serializadas em 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
fonte
2
Subclasse não é "o tipo de um tipo": é uma metaclasse. "X a Y. Y a Z." é diferente de "X a Y. Y subClasseDe Z"
Vladimir Alexiev
14

Em primeiro lugar, como já foi indicado anteriormente, a coruja pode ser serializada no RDF.

Em segundo lugar, o OWL adiciona capacidade ontológica ao RDF (que, por si só, fornece capacidade extremamente limitada para representação formal de conhecimento), fornecendo o aparelho para definir os componentes do seu triplo usando a lógica formal de descrição computável de primeira ordem. É isso que os cartazes aqui querem dizer quando falam sobre "riqueza semântica".

Em terceiro lugar, é importante perceber que em OWL-Full (para OWL 1) rdfs: class e owl: class são equivalentes e em OWL-DL, owl: class é uma subclasse de rdfs: class. Com efeito, isso significa que você pode usar uma ontologia OWL como um esquema para RDF (que não requer formalmente esquemas).

Espero que ajude a esclarecer mais.

Nico Adams
fonte
Muito boa postagem ... Quero salvar triplos RDF no Oracle 11g, posso usar o OWL como um esquema para meu RDF?
Saad
10

Ao usar o termo RDF, é necessário distinguir duas coisas:

  1. Você pode se referir ao RDF como um conceito :

    Uma maneira de descrever coisas / lógica / qualquer coisa usando coleções de triplos.

    Exemplo:

    "Anna tem maçãs." "Maçãs são saudáveis."

    Acima, você tem dois triplos que descrevem dois recursos "Anna" e "maçãs". O conceito de RDF (Resource Description Framework) é que você pode descrever recursos (qualquer coisa) com conjuntos de apenas 3 palavras (termos). Nesse nível, você não se importa com o armazenamento de informações, com uma sequência de três palavras, uma pintura em uma parede ou uma mesa com 3 colunas, etc.

    Nesse nível conceitual, a única coisa importante é que você pode representar o que quiser usando instruções triplas.

  2. Você pode se referir ao RDF como um vocabulário

    Um vocabulário é apenas uma coleção de definições de termos armazenadas em um arquivo ou em algum lugar. Esses termos definidos têm o objetivo de serem geralmente reutilizados em outras descrições para que as pessoas possam descrever dados (recursos) mais facilmente e de maneira padrão.

    Na web, você pode encontrar alguns vocabulários padrão, 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 )

    O vocabulário RDF define termos que ajudam você a descrever (no nível mais básico possível) indivíduos / instâncias de classes. Exemplo: rdf: type, rdf: Property.

    Com rdf: type, você pode descrever que algum recurso é uma instância de uma classe:

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

    Portanto, o vocabulário RDF tem termos que têm como alvo descrições básicas de instâncias de classe e algumas outras descrições (como a definição de declaração tripla ou a definição de predicado ... em geral, coisas que são direcionadas ao conceito de RDF).

    O vocabulário RDFS possui definições de termos que ajudam a descrever classes e relacionamentos entre eles. O vocabulário RDFS não se importa com instâncias de classes (indivíduos) como o vocabulário RDF. Exemplo: a propriedade rdfs: subClassOf que você pode usar para descrever que uma classe A é uma subclasse da classe B.

    Os vocabulários RDF e RDFS são dependentes um do outro. RDF define seus termos usando RDFS, e RDFS usa RDF para definir seus próprios termos.

    Os vocabulários RDF / RDFS fornecem termos que podem ser usados ​​para criar descrições muito básicas de recursos. Se você quiser ter descrições mais complexas e precisas, use o vocabulário OWL.

O vocabulário OWL vem com um conjunto de novos termos direcionados a descrições mais detalhadas. Esses termos são definidos usando termos do vocabulário 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 você pode ver acima, o vocabulário OWL estende o conceito de rdf: Property criando novos tipos de Propriedades que são menos abstratos e podem fornecer descrições mais precisas dos recursos.

Conclusões:

  1. RDF é um conceito ou uma maneira de descrever recursos usando conjuntos de triplos.
  2. Os triplos RDF podem ser armazenados em diferentes formatos (XML / RDF, Turtle etc.)
  3. O conceito de RDF é o modelo base de todas as tecnologias e estruturas semânticas da web (como vocabulários).
  4. RDF também é um vocabulário que, juntamente com o vocabulário RDFS, fornece um conjunto de termos que podem ser usados ​​para criar descrições gerais / abstratas dos recursos.
  5. OWL é um vocabulário construído com vocabulários RDF e RDFS que fornecem novos termos para a criação de descrições mais detalhadas dos recursos.
  6. Todos os vocabulários da web semântica (RDF, RDFS, OWL etc.) são criados respeitando o conceito de RDF.
  7. E, é claro, o vocabulário da OWL possui nos bastidores todo tipo de lógica e conceitos complexos que definem a Web Ontology Language. O vocabulário da OWL é apenas uma maneira de usar toda essa lógica na prática.
whitefang1993
fonte
9

RDF é uma maneira de definir um 'sujeito', 'predicado', 'valor' triplo . Por exemplo, se eu quiser dizer,

"meu nome é Pierre"

eu escreveria

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

Veja o <foaf:name>? faz parte da ontologia FOAF . Uma ontologia é uma maneira formal de descrever as propriedades, as classes de um determinado assunto e OWL é uma maneira (RDF) de definir uma ontologia.

Você usa C ++, Java, etc ... para definir uma classe, uma subclasse, um campo, etc ...

class Person
{
    String email_as_id;
    String name;
}

RDF usa OWL para definir esses tipos de instruções.

Outro lugar para fazer esse tipo de pergunta: http://www.semanticoverflow.com/

Pierre
fonte
14
Discordo de: "RDF usa OWL para definir esse tipo de instrução". RDF não usa OWL de forma alguma. Esta é a outra maneira: OWL usa o esquema RDF que usa RDF.
214 alexkr
@Stefano Para onde eles acham que as pessoas correm, essa é a verdadeira questão.
28610 Pascal Thivent
7

Estou tentando entender o conceito de Web Semântica. Estou achando difícil entender qual é exatamente a diferença entre RDF e OWL. OWL é uma extensão do RDF ou essas duas são tecnologias totalmente diferentes?

Em suma, sim, você poderia dizer que o OWL é uma extensão do RDF.

Mais detalhadamente, com o RDF, você pode descrever um gráfico direcionado definindo triplos sujeito-predicado-objeto. O sujeito e o objeto são os nós, o predicado é a aresta ou, por outras palavras, o predicado descreve a relação entre o sujeito e o objeto. Por exemplo :Tolkien :wrote :LordOfTheRingsou:LordOfTheRings :author :Tolkien, etc ... Os sistemas de dados vinculados usam esses triplos para descrever gráficos de conhecimento e fornecem maneiras de armazená-los, consultá-los. Agora, esses são sistemas enormes, mas você pode usar o RDF em projetos menores. Cada aplicativo possui um idioma específico do domínio (ou por termos DDD, linguagem ubíqua). Você pode descrever esse idioma em sua ontologia / vocabulário, para descrever o modelo de domínio do seu aplicativo com um gráfico, que pode visualizá-lo para pessoas de negócios, conversar sobre decisões de negócios com base no modelo e construir o aplicativo em cima por essa. Você pode vincular o vocabulário do seu aplicativo aos dados que ele retorna e a um vocabulário conhecido pelos mecanismos de pesquisa, como microdados(por exemplo, você pode usar HTML com RDFA para fazer isso) e, assim, os mecanismos de pesquisa podem encontrar seus aplicativos facilmente, porque o conhecimento sobre o que ele faz será processável por máquina. É assim que a web semântica funciona. (Pelo menos é assim que eu imagino.)

Agora, para descrever aplicativos orientados a objetos, você precisa de tipos, classes, propriedades, instâncias, etc ... Com o RDF, você pode descrever apenas objetos. RDFS (esquema RDF) ajuda a descrever classes, herança (com base em objetos de c.), Mas é muito amplo. Para definir restrições (por exemplo, um filho por família chinesa), você precisa de outro vocabulário. OWL (linguagem de ontologia da web) faz esse trabalho. OWL é uma ontologia que você pode usar para descrever aplicativos da web. Ele integra os simpleTypes do XSD.
Assim RDF -> RDFS -> OWL -> MyWebAppé a ordem para descrever seu aplicativo da Web de uma maneira cada vez mais específica.

inf3rno
fonte
Obrigado - isso parece muito útil. Eu acho que você está dizendo (por favor, deixe-me saber se eu entendi isso corretamente) que (1). O RDF permite especificar relacionamentos diretos entre objetos ( personA friendsWith personB), que (2) o RDFS estende isso, fornecendo a capacidade de especificar relacionamentos entre object classes- ie class Person <has 'friendsWith' relationship> Person. Isso permite que você, em seguida, a frase RDF via classe: A:typeof:person friendsWith B:<typeof:person>. E (3), o OWL permite que você especifique restrições dos relacionamentos?
Zach Smith
ou seja, uma pessoa pode ter no máximo 4 "amigosCom" conexões`?
Zach Smith
@ZachSmith Sim.
inf3rno 21/02
Uma resposta tão boa - obrigado. Facilita a leitura de tudo nesta página.
Zach Smith
@ZachSmith yw.
inf3rno 27/02
7

O RDFS permite que você expresse os relacionamentos entre as coisas, padronizando em um formato flexível e triplo e fornecendo um vocabulário ("palavras-chave" como rdf:typeou rdfs:subClassOf) que pode ser usado para dizer coisas.

OWL é semelhante, mas maior, melhor e mais ruim. OWL permite que você fale muito mais sobre seu modelo de dados, mostra como trabalhar eficientemente com consultas ao banco de dados e raciocínios automáticos, além de fornecer anotações úteis para trazer seus modelos de dados para o mundo real.

1ª Diferença: Vocabulário

Das diferenças entre RDFS e OWL, o mais importante é que o OWL fornece um vocabulário muito, muito maior que você pode usar para dizer coisas .

Por exemplo, OWL inclui todos os seus velhos amigos de RDFS tais como rdfs:type, rdfs:domain, e rdfs:subPropertyOf. No entanto, o OWL também oferece novos e melhores amigos! Por exemplo, OWL permite que você descreva seus dados em termos de operações definidas:

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

Permite definir equivalências entre os bancos de dados:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Permite restringir os valores da propriedade:

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

de fato, o OWL fornece muito vocabulário novo e sofisticado para ser usado na modelagem e no raciocínio de dados que recebe sua própria lição!

2ª Diferença: Rigidez

Outra grande diferença é que, diferentemente do RDFS, o OWL não apenas mostra como você pode usar determinado vocabulário, mas também mostra como você não pode usá-lo. Por outro lado, o RDFS oferece a você um mundo em que você pode adicionar praticamente qualquer triplo que desejar.

Por exemplo, no RDFS, qualquer coisa que você sinta pode ser uma instância rdfs:Class. Você pode decidir dizer que o Beagle é um rdfs:Classe depois dizer que o Fido é uma instância do Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Em seguida, você pode decidir que gostaria de dizer coisas sobre beagles, talvez queira dizer que Beagle é uma instância de cães criados na Inglaterra :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

O interessante neste exemplo é que Example:Beagleestá sendo usado como uma classe e uma instância . O Beagle é uma classe da qual Fido é membro, mas o próprio Beagle é membro de outra classe: Things Bred in England.

No RDFS, tudo isso é perfeitamente legal porque o RDFS não restringe realmente as instruções que você pode e não pode inserir. Em OWL, por outro lado, ou pelo menos em alguns tipos de OWL, as declarações acima não são realmente legais: você simplesmente não tem permissão para dizer que algo pode ser tanto uma classe quanto uma instância.

Essa é a segunda grande diferença entre RDFS e OWL. O RDFS permite um mundo livre para todos , tudo dá tipo de mundo cheio do Oeste Selvagem, do Speak-Easies e de Salvador Dali. O mundo da OWL impõe uma estrutura muito mais rígida.

3ª Diferença: Anotações, os meta-meta-dados

Suponha que você passou a última hora construindo uma ontologia que descreve seu negócio de fabricação de rádio. Durante o almoço, sua tarefa é criar uma ontologia para o seu negócio de fabricação de relógios. Hoje à tarde, depois de um bom café, seu chefe agora diz que você precisará criar uma ontologia para o seu negócio de rádio-relógio altamente lucrativo. Existe uma maneira de reutilizar facilmente o trabalho da manhã?

OWL torna muito fácil fazer coisas assim. Owl:Importé o que você usaria na situação rádio-relógio, mas OWL também lhe dá uma rica variedade de anotações, como owl:versionInfo, owl:backwardsCompatibleWith, e owl:deprecatedProperty, o que pode ser facilmente modelos de dados link usado em um todo mutuamente coerentes.

Ao contrário do RDFS, o OWL certamente satisfará todas as suas necessidades de modelagem de meta-meta-dados.

Conclusão

OWL fornece um vocabulário muito maior para você brincar, o que facilita dizer qualquer coisa que você queira dizer sobre seu modelo de dados. Ele ainda permite adaptar o que você diz com base nas realidades computacionais dos computadores atuais e otimizar para aplicativos específicos (para consultas de pesquisa, por exemplo.) Além disso, o OWL permite que você expresse facilmente os relacionamentos entre diferentes ontologias usando uma estrutura de anotação padrão .

Todas essas são vantagens em comparação com o RDFS e normalmente valem o esforço extra necessário para se familiarizar com elas.

Fonte: RDFS vs. OWL

Bilal
fonte
4

No modelo de objeto de documento do WC3, um documento é uma coisa abstrata: um elemento com texto, comentários, atributos e outros elementos aninhados dentro dele.

Na web semântica, lidamos com um conjunto de "triplos". Cada triplo é:

  • um assunto, a coisa que o triplo é sobre , o id, a chave primária do banco de dados - um URI; e
  • o predicado, o "verbo", a "propriedade", a "coluna do banco de dados" - outro URI; e
  • o objeto , um valor atômico ou algum URI.

OWL é para a web semântica, assim como os esquemas para o modelo de objeto de documento do W3C. Ele documenta o significado dos vários URIs e especifica como eles são usados ​​de uma maneira formal que pode ser verificada por uma máquina. Uma web semântica pode ou não ser válida com relação à OWL que se aplica a ela, assim como um documento pode ou não ser válido com relação a um esquema.

RDF é para a web semântica como XML é para o DOM - é uma serialização de um conjunto de triplos.

Obviamente, o RDF geralmente é serializado como um documento XML ... mas é importante entender que o RDF não é a mesma coisa que "a serialização XML do RDF".

Da mesma forma, o OWL pode ser serializado usando OWL / XML ou (desculpe por isso) pode ser expresso como RDF, que normalmente é serializado como XML.

paulmurray
fonte
3

A pilha da web semântica básica já foi explicada muito neste tópico. Eu gostaria de me concentrar na pergunta inicial e comparar o RDF com a OWL.

  • OWL é um superconjunto de RDF e RDF-S (na parte superior)
  • OWL permite trabalhar efetivamente com RDF e RDF-S
  • OWL tem algum vocabulário estendido
    • classes e indivíduos ("instâncias")
    • propriedades e tipos de dados ("predicados")
  • OWL é necessário para o devido raciocínio e inferência
  • OWL vem em três dialetos lite, descrição lógica e completa

Usar o OWL é essencial para obter mais significado (raciocínio e inferência), apenas conhecendo alguns fatos. Esta informação "criada dinamicamente" pode ainda ser usada para consultas concordantes, como no SPARQL.

Alguns exemplos mostram que isso realmente funciona com o OWL - eles foram retirados da minha palestra sobre o básico da web semântica no TYPO3camp Mallorca, Espanha, em 2015.

equivalentes por regras

Spaniard: Person and (inhabitantOf some SpanishCity)

Isso significa que a Spaniarddeve ser a Person(e, portanto, herda todas as propriedades na parte inferencial) e deve residir em pelo menos uma (ou mais) SpanishCity.

significado das propriedades

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

O exemplo mostra o resultado da aplicação inverseOfàs propriedades isPartOfe contains.

  • inverso
  • simétrico
  • transitivo
  • disjuntar
  • ...

cardinalidades de propriedades

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

Isso define que cada um Thing(nesse cenário provavelmente a Human) tem exatamente dois pais - a cardinalidade é atribuída à hasParentpropriedade.

  • mínimo
  • máximo
  • exato
Oliver Hader
fonte
2

A Estrutura de Descrição de Recurso (RDF) é uma poderosa linguagem formal de representação de conhecimento e um padrão fundamental da Web Semântica. Possui seu próprio vocabulário que define conceitos e relações principais (por exemplo, rdf: type corresponde ao relacionamento isA) e um modelo de dados que permite instruções interpretáveis ​​por máquina na forma de sujeito-predicado-objeto (recurso-propriedade-valor) triplos, chamados RDF triplos, como figuras-retratam-livros. A extensão do vocabulário RDF com os conceitos necessários para criar vocabulários controlados e ontologias básicas é chamada de Esquema RDF ou RDF (RDF Vocabulary Description Language). O RDFS possibilita escrever instruções sobre classes e recursos e expressar estruturas taxonômicas, como por meio de relacionamentos de superclasse-subclasse.

Domínios de conhecimento complexos exigem mais recursos do que os disponíveis no RDFS, o que levou à introdução do OWL . OWL suporta relacionamentos entre classes (união, interseção, disjunção, equivalência), restrições de cardinalidade de propriedade (número mínimo, máximo e exato, por exemplo, toda pessoa tem exatamente um pai), tipagem rica de propriedades, características de propriedades e propriedades especiais (transitivas, simétrica, funcional, funcional inversa, por exemplo, A ex: hasAncestor B e B ex: hasAncestor C implica que A ex: hasAncestor C), especificando que uma determinada propriedade é uma chave exclusiva para instâncias de uma classe específica e restrições de domínio e intervalo para propriedades.

Leslie Sikos
fonte