Pular para o conteúdo principal

Baixar dados da Wikidata usando o serviço WDQS e o pacote wdq

GitHub -> https://github.com/nichtich/wdq#readme 

Passos

(pgm python de exemplo pr_list.py)

import os
import datetime
import time

Gera a query base (e testa no WDQS)

query_base = """PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX wikibase: <http://wikiba.se/ontology#>

SELECT (?statement as ?node1) (?pr_pred as ?label) (?ref as ?node2)
WHERE {
   ?ref ?pr_pred ?pr_obj .
   ?statement prov:wasDerivedFrom ?ref .
}"""

f1 = open("/home/cloud-di/pr_list.txt", 'r', encoding="utf8")
pr_list = f1.readlines()
f2 = open("/home/cloud-di/pr_list_v2.sh", mode="w", encoding="utf-8")

for pr_item in pr_list:

Substitui variável por constante para evitar problema de timeout

    pr_pred = pr_item.replace("http://www.wikidata.org/prop/reference/", "pr:").strip('"\n' + '\n')

    query_exec = query_base.replace ("?pr_pred", pr_pred)
#    print(query_exec)

    query_file = "/app/wdq/sparql/"+pr_pred+".sparql"       
    f3 = open(query_file, mode="w", encoding="utf-8")
    f3.write(query_exec)

Gera o script com os comando do wdq e a query final

    output_file = "/app/wdq/data/references.tsv"
    cmd = "/app/wdq/wdq --format tsv --ignore --query " + query_file + " >> " + output_file
    f2.write(cmd+"\n")
       
    f3.close()
       
f1.close()
f2.close()

Executa o script com os comando do wdq e a query final

Comentários

  1. Exemplo do comando
    /app/wdq/wdq --format tsv --ignore --query /app/wdq/sparql/pr:P10006.sparql >> /app/wdq/data/references.tsv

    ResponderExcluir

Postar um comentário

Sinta-se a vontade para comentar. Críticas construtivas são sempre bem vindas.

Postagens mais visitadas deste blog

Aprendizado de Máquina Relacional

 Extraído de -> https://www.lncc.br/~ziviani/papers/Texto-MC1-SBBD2019.pdf   Aprendizado de máquina relacional (AMR) destina-se à criação de modelos estatísticos para dados relacionais (seria o mesmo que dados conectados) , isto é, dados cuja a informação relacional é tão ou mais impor tante que a informação individual (atributos) de cada elemento.    Essa classe de aprendizado tem sido utilizada em diversas aplicações, por exemplo, na extração de informação de dados não estruturados [Zhang et al. 2016] e na modelagem de linguagem natural [Vu et al. 2018].   A adoção de técnicas de aprendizado de máquina relacional em tarefas de comple mentação de grafo de conhecimento se baseia na premissa de existência de regularidades semânticas presentes no mesmo . Modelos grafos probabilísticos  Baseada em regras / heurísticas que não podem garantir 100% de precisão no resultado da inferência mas os resultados podem ser explicados. Modelos de características de ...

Metodologia Científica II - continuação

No primeiro post  foram detalhados os 6 primeiros vídeos do canal do Youtube do professor Eduardo Ogasawara do CEFET/RJ   Mais 3 vídeos foram disponibilizados e estão comentados a seguir: Gráficos, Figuras e Tabelas (33 minutos) - como apresentar os resultados das avaliações experimentais. Gráficos: associar análises dos resultados a cada gráfico apresentado, problemas comuns na montagem de gráficos (não usar todo eixo X ou Y, não usar área útil com uma escala adequada a ver o comportamento dos números, não marcar os pontos de observação da série, inconsistência no uso de cores ), escala logarítmica x linear, eixo X para a variável independente e Y para a dependente (resposta), escrever boas legendas para os gráficos, observar se diferenças entre variáveis apresentadas em gráficos separados podem atrapalhar a interpretação dos resultados. Diagramas devem ser pensados de acordo com o propósito, trata-se de uma abstração e cada elemento deve ser explicado no texto, rótulos...

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...