M-am mutat. Noul meu site este grep.ro, unde scriu ce scriam şi aici, doar că în engleză :)

RDF parser

7 iulie 2006, 15:59

Zilele astea am refăcut complet parser-ul de RDF (mai precis, RDF/XML), scris în javascript, pe care îl folosim la servici. Abordarea parser-ului era complet greşită - ştia de la început ce trebuie să găsească în document şi căuta informaţia aceea; nu se folosea deloc de noţiunea de "statement" (care stă la baza RDF). Din păcate abordarea asta este complet nepotrivită pentru natura formatului RDF/XML, unde acelaşi lucru se poate "spune" în multe feluri, toate echivalente. Noul parser traversează tot documentul (DOM tree-ul) şi generează statement-uri, care sunt mai apoi salvate într-o structură de date simplă. Acum parser-ul este mult mai flexibil decât înainte, şi codul este mai mic (am scăpat de o mulţime de cod pentru cazuri "speciale").

Probabil că am neglijat anumite părţi mai obscure ale specificaţiei, dar toate RDF-urile noastre se parse-uiesc superb. În curând o să facem opensource parser-ul, împreună cu alte bucăţele frumoase şi utile de cod. Stay tuned. :)

Concluzii: 1) simple is beautiful; 2) când scrii prea mult cod pentru "edge cases" înseamnă că e ceva greşit.

Acum să termin de reparat chestiile care depindeau de parser-ul vechi şi pe care le-am stricat, să pot să plec în week-end la mare :D