Pergunta

Eu tenho analisado freebase de dados de despejo e agora RDF como o seguinte:

<http://rdf.freebase.com/ns/m.0mspb64> <http://rdf.freebase.com/ns/type.object.type> <http://rdf.freebase.com/ns/music.release_track>
<http://rdf.freebase.com/ns/m.0mspb64> <http://rdf.freebase.com/ns/type.object.name> "Mit Rees und Hans im Bürgli"@de
<http://rdf.freebase.com/ns/m.0mspd6m> <http://rdf.freebase.com/ns/type.object.type> <http://rdf.freebase.com/ns/music.release_track>
<http://rdf.freebase.com/ns/m.0mspd6m> <http://rdf.freebase.com/ns/type.object.name> "Granny Scratch Scratch"@en

Tendo esse conjunto de dados rdf, como posso extrair o nome e o tipo de um recurso em particular?Por exemplo, a partir dos dados acima, eu quero extrair:

Mit Rees und Hans im Bürgli ### music.release_track
Granny Scratch Scratch ### music.release_track 
Foi útil?

Solução

O que você usa para analisar isso?O formato que você está mostrando é o formato de dados não processados.

Se você tiver carregado em um RDF store, você deve ser capaz de facilmente consulta para obter as informações de que você precisa utilizando SPARQL, ou qualquer outra interface de consulta a loja oferece.

Se você está apenas trabalhando com matérias-primas de arquivo de texto, você deve ser capaz de tirar proveito do fato de que é ordenado por assunto de IDENTIFICAÇÃO (você deve verificar que isso ainda é verdade) para processá-lo como um fluxo, sem a necessidade de muita armazenamento de trabalho (i.e., RAM).

A única armazenamento temporário que você precisa é de 1) assunto atual de IDENTIFICAÇÃO, 2) o nome do assunto atual e 3) o tipo de assunto atual.Se o tipo não é o que você quer (release_track), você pode apenas passar para o próximo grupo de sujeitos triplos.Se ele é o tipo certo, você pode produzir uma linha para o seu triplo, assim como você tem o nome e o tipo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top