2014-02-27 2 views
0

나는 유리 염기 데이터 덤프를 분석하고 이제 다음과 같은 RDF를 가지고있다 : 나는 특정 자원의 이름과 유형을 추출 할 수있는 방법Name-Type exctraction을위한 Freebase rdf 덤프 구문 분석 ...?

<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 

이 RDF 데이터 집합을 갖는? 예를 들어, 위 데이터에서 다음을 추출합니다.

Mit Rees und Hans im Bürgli ### music.release_track 
Granny Scratch Scratch ### music.release_track 

답변

2

구문 분석에 사용한 내용은 무엇입니까? 보여주는 형식은 원시 데이터 형식입니다.

RDF 저장소에로드 한 경우 SPARQL 또는 저장소가 제공하는 다른 쿼리 인터페이스를 사용하여 필요한 정보를 쉽게 쿼리 할 수 ​​있어야합니다.

원시 텍스트 파일로 작업하는 경우, 로트를 요구하지 않고 스트림으로 처리하려면 주제 ID별로 정렬되어 있다는 점을 이용해야합니다 (이 사실을 계속 확인해야합니다) 작업 저장소 (예 : RAM)의.

유일한 임시 저장소는 1) 현재 제목 ID, 2) 현재 제목 및 3) 현재 제목 유형입니다. 유형이 원하는 유형이 아닌 경우 (release_track) 다음 주제 트리플 그룹으로 건너 뛸 수 있습니다. 올바른 유형 인 경우 이름과 유형을 모두 지정하자마자 트리플을위한 행을 출력 할 수 있습니다.

+1

답장을 보내 주신 Tom 감사합니다. grep 명령을 사용하여 전체 덤프를 구문 분석 했으므로 Name-Type에만 관심이 있으므로 원하는 데이터 만 추출했습니다. 임시 저장소가 있고 데이터를 파싱 할 수 있다고 말한 것처럼 rdf가 필요하지 않다고 생각합니다. 자바로 할 계획입니다. 프로그래밍 언어 선택에 대한 제안이 있습니까? ?? –

+1

실제로 압축 해제 된 데이터를 저장할 필요가 없기 때문에 실제로는'zgrep' 이었기를 바랍니다. 원래 주제 그룹을 보존 한 OR (|) 패턴을 사용했다면 인접한 두 개의 데이터가 있어야합니다. 이와 같은 빠른 프로그램을 사용하기 위해서는 아마도 Python을 사용하지만 Java는 제대로 작동합니다. –

+0

고마워요. .. 자바에서 구현했습니다 .. 자바에서 편하지 .. –

관련 문제