Pular para o conteúdo principal

Metadata for RDF Statements: The RDF-star Approach - Youtube

Description

The lack of a convenient way to capture annotations and statements about individual RDF triples has been a long standing issue for RDF. Such annotations are a native feature in other contemporary graph data models (e.g., edge properties in the Property Graph model). In recent years, the RDF* approach has emerged to address this limitation of RDF. After RDF* gained traction among both vendors and users of RDF systems, a community group has formed to produce a specification of the approach, now called RDF-star. In February 2021, the group published a first working draft of this spec, which is accompanied by several test suites. In this presentation we will introduce the approach and the various features that it adds to RDF and SPARQL. 

Palestrantes: Pierre-Antoine Champin & Olaf Hartig

Vídeo ->  https://youtu.be/ZNfq12mdnsM

Slides -> https://w3c.github.io/rdf-star/presentations/RDF-star_Lotico.pdf

Links -> https://w3c.github.io/rdf-star/

Anotações

Cada tripla representa uma declaração sobre uma fato (não só as triplas que ligam Nós, ou seja, que representam arestas do grafo)

RDF-Star permite adicionar metadados a qualquer tripla: statement-level metadata

Exemplo de aninhamento de metadados: 

<< <<#Alice rdf:type :genius >> :source "file.x" >> :creator #Bob

Diferente de 

<<#Alice rdf:type :genius >> :source "file.x"
"file.x" :creator #Bob

Reificação padrão: verbosidade da consulta e a declaração original não consta mais no grafo o que pode prejudicar inferências. Pode introduzir problemas como um statement ter mais de um sujeito ou predicado ou objeto.

Single-Triple Named Graphs:  não tem a semântica definida

Singleton properties: criar uma nova propriedade para usar em uma tripla que faz a declaração (indiretamente pq não é a propriedade original) e essa propriedade é do tipo sp:singletonProperty da propriedade original. Em termos de verbosidade é melhor que a reificação padrão mas não traz a declaração original no grafo.Em termos de semântica é mais precisa que Named Graph pois o significado da propriedade é definido. Mas não escala pq esbarra na premissa de que o número de predicados é bem menor que o número de sujeitos e objetos e isso não acontece pq é necessário criar uma propriedade para cada tripla. 

Questionamento motivador: Pq não usar a própria tripla para incluir os metadados?

Nested triples: podem ser sujeito ou objeto

Consultas SPARQL-Star ficam mais fáceis de ler e construir por seres humanos

Blazegraph: Reification Done Right

Technical Report - Junho/2014

W3C Workshop sobre Padronização de Dados em Grafo em Março de 2019 motivou a criação do grupo de trabalho

Outras especificações sobre RDF da W3C: RDF Semantics, RDF Abstract Syntax, SPARQL e Turtle estão sendo alteradas para adaptar a RDF-Start e SPARQL-Star

Graph ::= Triple*
Triple ::= Subj Pred Obj
Subj ::= IRI | Bnode | Triple
Pred ::= IRI
Obj ::= IRI | Bnode | Literal | Triple
Dataset ::= Graph (IRI Graph)*

Asserted triple X Embedded triple

Turtle-Star

#Alice rdf:type :genius {|:source "file.x"|}
"file.x" :creator #Bob

#Alice rdf:type :genius é uma tripla asserted então temos 3 triplas no arquivo e isso é diferente de 

<<#Alice rdf:type :genius >> :source "file.x"
"file.x" :creator #Bob  

Onde temos somente um tripla aninhada e duas triplas no arquivo. Só se aplicam a triplas no sujeito

Tem também N-triples-star, N-Quads-star e JSON-LD-star

Triplas embutidas, aninhadas, não são automaticamente declarações (statements, asserted)

PG-Mode e SA-mode não existem mais ...

Semantica monotônica, triplas asserted não podem ser canceladas.

#Alice :workingFor #ACME {|:since 2010-12-10; until 2020-12-20;|}

Triplas são únicas, propostas para as ocorrências de triplas se parecem com reificação

SPARQL-Star

SELECT ?allegedGenius ?accordingTo
WHERE {
<<?allegedGenius rdf:type :Genius>> :source ?src1.
<<?allegedGenius rdf:type :Nerd>> :source ?src2.

FILTER ( ?src1 != ?src2 )
?src1 s:creator ?accordingTo .
?src2 s:creator ?accordingTo .
}

SELECT ?allegedGenius
WHERE {
<<?allegedGenius rdf:type :Genius>> :source ?src1 ; :source ?src2 .
FILTER ( ?src1 != ?src2 )
?src1 s:creator ?accordingTo1 .
?src2 s:creator ?accordingTo2 .
FILTER ( ?accordingTo1 != ?accordingTo2 )
}

SELECT ?cartoon ?b
WHERE {
?cartoon :depicts <<?b :dreamingOf <<?a :dreamingOf ?b>> >>
}

SELECT ?cartoon ?y
WHERE {
VALUES ?y { <<:alice :dreamingOf :bob>> <<:alice :dreamingOf :eve>> }
?cartoon :depicts << :bob :dreamingOf ?y >>
}

SELECT ?cartoon ?y ?o
WHERE {
?cartoon :depicts << :bob :dreamingOf ?y >>
FILTER( isTriple(?y) )
BIND( Object(?y) AS ?o )
}

SELECT ?cartoon ?t
WHERE {
?cartoon :depicts << ?x :dreamingOf ?y >>
BIND( TRIPLE(?x,:state,:sleeping) AS ?t )
}

SELECT ?allegedGenius ?type ?src
WHERE {
?allegedGenius rdf:type ?type {| :source ?src |} .
}

Próximos passos SHACL-Star

Star - Kleene star 

Quick Reference

An operation on formal languages that gives for any language L the language L*, defined by {Λ} ∪ LLLLLL ∪ … where Λ is the empty word. Thus a word w is in L* if and only if it has the form w1w2wn with each wi in L, i.e. is a concatenation of words in L.

{Λ} ∪ LLLLLL ∪ …

w1w2wn

The Kleene-plus (L+) of L, is defined by

LLLLLL ∪ … Thus L+ comprises the nonempty strings of L*.

LLLLLL ∪ …

 
Opacidade referencial (não acontece na reificação padrão)
 
:superman owl:samesAs :clark
:superman :can :fly 
-> :clark :can :fly
 
O que está dentro da tripla aninhada << s p o >> não sobre efeito de inferências
 
PG x RDF: semântica é essencial para interoperabilidade ( o uso local exclusivo não requer semântica explícita). Reduzir o gap entre os modelos é atrativo para TripleStores e permitiria executar consultas federadas em bases remotas (com tradução de modelo/linguagem)


Comentários

Postagens mais visitadas deste blog

Connected Papers: Uma abordagem alternativa para revisão da literatura

Durante um projeto de pesquisa podemos encontrar um artigo que nos identificamos em termos de problema de pesquisa e também de solução. Então surge a vontade de saber como essa área de pesquisa se desenvolveu até chegar a esse ponto ou quais desdobramentos ocorreram a partir dessa solução proposta para identificar o estado da arte nesse tema. Podemos seguir duas abordagens:  realizar uma revisão sistemática usando palavras chaves que melhor caracterizam o tema em bibliotecas digitais de referência para encontrar artigos relacionados ou realizar snowballing ancorado nesse artigo que identificamos previamente, explorando os artigos citados (backward) ou os artigos que o citam (forward)  Mas a ferramenta Connected Papers propõe uma abordagem alternativa para essa busca. O problema inicial é dado um artigo de interesse, precisamos encontrar outros artigos relacionados de "certa forma". Find different methods and approaches to the same subject Track down the state of the art rese...

Knowledge Graph Embedding with Triple Context - Leitura de Abstract

  Jun Shi, Huan Gao, Guilin Qi, and Zhangquan Zhou. 2017. Knowledge Graph Embedding with Triple Context. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management (CIKM '17). Association for Computing Machinery, New York, NY, USA, 2299–2302. https://doi.org/10.1145/3132847.3133119 ABSTRACT Knowledge graph embedding, which aims to represent entities and relations in vector spaces, has shown outstanding performance on a few knowledge graph completion tasks. Most existing methods are based on the assumption that a knowledge graph is a set of separate triples, ignoring rich graph features, i.e., structural information in the graph. In this paper, we take advantages of structures in knowledge graphs, especially local structures around a triple, which we refer to as triple context. We then propose a Triple-Context-based knowledge Embedding model (TCE). For each triple, two kinds of structure information are considered as its context in the graph; one is the out...

KnOD 2021

Beyond Facts: Online Discourse and Knowledge Graphs A preface to the proceedings of the 1st International Workshop on Knowledge Graphs for Online Discourse Analysis (KnOD 2021, co-located with TheWebConf’21) https://ceur-ws.org/Vol-2877/preface.pdf https://knod2021.wordpress.com/   ABSTRACT Expressing opinions and interacting with others on the Web has led to the production of an abundance of online discourse data, such as claims and viewpoints on controversial topics, their sources and contexts . This data constitutes a valuable source of insights for studies into misinformation spread, bias reinforcement, echo chambers or political agenda setting. While knowledge graphs promise to provide the key to a Web of structured information, they are mainly focused on facts without keeping track of the diversity, connection or temporal evolution of online discourse data. As opposed to facts, claims are inherently more complex. Their interpretation strongly depends on the context and a vari...