Google Freebase data dump의 RDF 데이터를 읽는 C# 프로그램을 작성하고 있습니다. 우선, 파일을 읽고 트리플의 수를 얻는 간단한 루프를 작성했습니다. 그러나 문서 페이지 (위 참조)에 명시된 19 억 건을 얻는 대신 내 프로그램은 약 1150 만 건으로 계산 한 다음 종료합니다. 소스 코드의 관련 부분이 아래에 나와 있습니다 (실행하는 데 약 30 초가 소요됩니다).Freebase RDF 덤프를 C#으로 분석하면 1 억 9000 만 개가 아닌 1150 만 개의 N 트리플이 생성됩니다.
무엇이 여기에 있습니까? ? UTF-8?). 그래서, 대한 (탭 구분 기호를
// Simple reading through the gz file
try
{
using (FileStream fileToDecompress = File.Open(@"C:\Users\Krishna\Downloads\freebase-rdf-2014-02-16-00-00.gz", FileMode.Open))
{
int tupleCount = 0;
string readLine = "";
using (GZipStream decompressionStream = new GZipStream(fileToDecompress, CompressionMode.Decompress))
{
StreamReader sr = new StreamReader(decompressionStream, detectEncodingFromByteOrderMarks: true);
while (true)
{
readLine = sr.ReadLine();
if (readLine != null)
{
tupleCount++;
if (tupleCount % 1000000 == 0)
{ Console.WriteLine(DateTime.Now.ToShortTimeString() + ": " + tupleCount.ToString()); }
}
else
{ break; }
}
Console.WriteLine("Tuples: " + tupleCount.ToString());
}
}
}
catch (Exception ex)
{ Console.WriteLine(ex.Message); }
는 (나는
this recommendation 구축하여 데이터를 읽을
dotNetRdf
에
GZippedNTriplesParser
를 사용했지만, 그 바로 시작 부분에
RdfParseException
에 질식 할 것 같다 순간, 내 자신을 굴리려고).
FreeNet 출력에서 질식하는 파서가 dotNetRDF 메일 링리스트 또는 이슈 트래커에 버그 보고서를 보내면 – RobV