Я на самом деле сделал это в Java. Я просто использовал API SAX для чтения файлов RDF. Это было довольно прямо. В моем случае я хотел вытащить каждый URL-адрес, который был в теме с «Weblogs» в названии темы.
В основном то, что сделал реализовать org.xml.sax.helpers.DefaultHandler
Тогда для установки кода вы делаете:
InputSource is = new InputSource(new FileInputStream("filename.rdf"));
XMLReader r = XMLReaderFactory.createXMLReader();
r.setContentHandler(new MyHandlerClass());
r.parse(is);
и это довольно много его. В моем классе обработчика я должен был реализовать:
startElement(String uri, String localName, String qName, Attributes attributes)
тогда я был, если заявление, чтобы увидеть, если это был тег «ExternalPage», в этом случае я пошел в другое состояние, чтобы искать «тему»,» Название "и" Описание ". У меня была другая
characters(char[] ch, int start, int length)
где я прочитал в тему, название и текст описания в зависимости от которых один был совсем недавно отправлен StartElement
endElement(String uri, String localName, String qName)
где я проверил, чтобы увидеть, какой элемент заканчивался, и если это ExternalPage, что означало конец текущего элемента.
Все это было 80-90 строк кода для основного анализа. Настолько довольно легко писать. Он смог пережевывать файлы с несколькими гигабайтами ... Я не помню, может быть, минуту или две? Если вы просто хотите запросить некоторые конкретные данные, может быть проще просто написать код для этого в вашем обработчике, а затем попытаться загрузить его в БД.
Если вы найдете инструмент, который хорошо работает, это, очевидно, лучше, чем написание собственного кода. Но писать собственный код не сложно! RDF - это просто формат XML, и он не вложен или ничего. Простой парсер SAX легко выполним через день или около того.
Я фактически загрузил его и попытался извлечь данные с помощью экстренного экстрактора DMOZ, но мог получить только 1000 URL-адресов, поскольку это была оценочная версия. Есть ли еще один экстрактор (freeware) для извлечения полного каталога DMOZ ??? – trinity
Или есть ли какой-либо скрипт для его анализа. Я не знаком с файлами rdf .. Пожалуйста, помогите .. Мне это нужно плохо .. – trinity
Я сделал это на днях, изменил свой ответ соответственно. Надеюсь, поможет! – Mat