2011-02-27 2 views
1

그물을 샅샅이 뒤 졌으므로 적절한 예를 찾을 수 없어서 내가 물어볼 줄 알았는데 ... (Btw,이 중 많은 부분이 나에게 새롭지 않습니다. 모두, 가장 많이)sqlite에 대한 중첩 된 사전/xml을 플랫 파일로 변환

문제점 : pubmed 인용 데이터의 bio/python 중첩 사전 (또는 xml)을 평면 (정규화 된) 구조 (예 : sqlite)로 변환하려고 시도했습니다. Biopython을 사용하여 pubmed에서 인용 데이터를 가져 와서 사전으로 파싱했지만 필요한 경우 xml로 검색 할 수도 있습니다.

모든 인용문이 모든 입력란/키를 포함하지는 않으며 모든 입력란/키의 항목 수 (작성자, 메쉬 용어, 참조 번호 등)가 동일하지 않으며 정규화 프로세스의 일부임을 이해해야합니다.

이것은 실제적인 이해가 끝나는 곳입니다.

즉, 프로세스가 다음과 같이되어야한다고 생각합니다. 먼저 모든 고유 필드를 제거/정규화하십시오 (예 : 제목, 요약, 날짜, 인용문 등 용지 당 1 개가있는 필드 ...). 그것은 첫 번째 저자와 관련이 있습니다). 초록이없는 논문은 null로 채울 수 있습니까?

그런 다음 저자에게 가서 PMK를 fk로 사용하여 별도의 테이블을 만든 다음 별도의 테이블 (예 : 메시 표제, EC 번호, 참조 등)의 다양한 다른 필드/키/항목에 대해 동일한 작업을 수행하십시오. ...

내가 수행 한 작업을 시각적으로 볼 수 있도록 (분명히 PMID를 떠나는) 마스터 사전에서 (팝?) 키/항목을 제거하는 방법이 있습니까?

다시 한번 말하지만, 내가 시작한 것에 대해 분명한 질문을하는 경우 사전에 사과드립니다. 중첩 된 구조를 평면 공간에 맞출 수 없다는 것을 이해합니다. 이것으로 모든 것이 제대로 포착되었는지 확인할 수 있습니다.

많은 감사, 크리스

답변

0

빠른 질문 - 당신은 이미 XML의 데이터가있는 경우, 당신은 왜 SQL 형식으로 정상화된다? XML을 사용하지 않는 이유는 무엇입니까? Berkeley DB XML은 응용 프로그램에 링크되는 (SQLite와 같은) 라이브러리입니다. 설치 또는 유지 보수 할 별도의 서버가 없습니다. 라이브러리를 사용하면 XPath or XQuery을 사용하여 XML 데이터를 저장하고 쿼리 할 수 ​​있습니다. 그것은 매우 빠르며 작은 설치 공간을 가지고 있습니다. 트랜잭션 가능하고 복구 가능하며 신뢰성이 높습니다. 필요한 경우 HA 기능도 있습니다.

XML로 데이터를 보관하면 전체 데이터 가져 오기 프로세스가 단순화되고 반 구조화 된 데이터를 쿼리 할 수 ​​있습니다.

관련 문제