The purpose of this project is to bridging the gap between the Brazilian Curriculum Lattes plataform and Semantic Web technologies. As part of the project, we have already developed:
- A XSLT stylesheet that process XML Brazilian Curriculum Lattes files and generates RDF data.
- An updated version of the Lattes XML DTD specification. The original DTD provided by CNPq was last updated in 2004.
- A XSLT stylesheet that process XML Latttes and generate an MODS XML file.
Lattes to RDF
xsltproc --stringparam ID LATTESID lattes.xsl CURRICULIUM.xml > CURRICULIUM.rdf
LATTESID is an unique identifier that will be used to create
xml:base URL if the XML doesn’t have the
attribute in the tag
CURRICULO-LATTES. We also provide another
lattes-vivo.xsl that generates a RDF VIVO
compliance, that is, readdy to be ingest into a VIVO instalation.
Lattes validation agains the updated Lattes DTD
In Unix/MacOS systems you can also run:
xmllint --dtdvalid LMPLCurriculo.DTD --noout CURRICULIUM.XML
If one wants to compare what we changed from the original DTD provided by CNPQ, just use the github diff of commits.
Lattes to BibTeX
We have also developed a XSLT stylesheet that transforms a XML Lattes into a XML in MODS format.
You will need the following tools to actually obtain a BibTeX file from your XML Lattes:
- xsltproc: to execute the xsl stylesheet.
- xmllint: to validate the MODS XML generated (optional).
- BibUtils: to transform the MODS XML in BibTeX file.
- BibTool: to fix the keys and sort the entries in the final BibTeX file (optional).
To transform Lattes to BibTeX:
xsltproc lattes2mods.xsl LATTES.xml > LATTES.mods xmllint --schema mods.xsd LATTTES.mods xml2bib -b -w LATTES.mods > LATTES.bib
The second command above is not necessary. It is how one can validate the MODS XML produced by the transformation. To run this command, you will need to download the mods.xsd first.
Using bibtool command, you can also fix the citekeys, sort the entries and merge BiBTeX files. For instance, the command below generate the NEW.bib file with keys like “2012:Rademaker.Hermann” and the entries will be sorted in the inverse order by these keys.
bibtool -f "%4d(year):%n(author)" -s LATTES.bib > NEW.bib