Portal dos Dados Abertos do CIn


Descrição

Informações relacionadas ao CIn agora estão disponíveis ao público geral através de uma infra-estrutura de suporte à Web Semântica. Os dados foram modelados através da ontologia descrita OpenCIn, que descreve o ambiente acadêmico pelo qual o CIn-UFPE está imerso, essencialmente focada nos docentes e entidades relacionadas. Dela são extraídas as áreas de interesse de cada professor, bem como as disciplinas por ele lecionadas, suas publicações, participações em eventos e os projetos que ele faz parte.

O acesso ao dados pode ser feito através de consultas SPARQL ao endpoint do OpenCIn.

Links Úteis

...

Ontologia

...

Endpoint

...

CIn Explorer

Opencin.js

Opencin.js é uma biblioteca javascript para acesso simplificado ao endpoint SPARQL. Opencin.js é independente de outras bibliotecas (como jquery ou angularjs) e é compatível com os browsers Google Chrome, Firefox, IE7+, Opera e Safari. Você pode fazer o download aqui.

Como usar?

							
/*
*@param queryString String contendo a consultar SPARQL pura
*@param response_format Formato de resposta da consulta (json | xml | csv | html | javascript | ntriples | spreadsheet | rdf/xml)
*@param sucess_callback Função que será chamada se for obtida uma resposta com sucesso do endpoint. A função deverá receber como parâmetro uma string
@param error_callback Função que recebe como parâmetro uma String, chamada quando ocorre algum erro durante o processo de consulta.
*/
function query (queryString, response_format, success_callback, error_callback)
							
						

Exemplo

Capítulos publicados x Ano

- com Chart.js

							
var queryString = "select ?year COUNT (?year) as ?quant where { ?x cin:issued ?year . ?x rdf:type cin:chapter} order by ?year"
						

Resultado



							

//Using opencin.js
query(
	"select ?year COUNT (?year) as ?quant where { ?x cin:issued ?year . ?x rdf:type cin:chapter} order by ?year",
	 "json",
	 resposta,
	 alert
 );
function resposta (resp){
	var json = JSON.parse(resp);
	var results = (json.results.bindings); 
	
	var years = [], quant = [];
	for (var i = 0; i < results.length; i++) {
		years[i] = results[i].year.value;
		quant[i] = parseInt(results[i].quant.value);
	};
	gerarGrafico(years, quant);

}

function gerarGrafico (label_var, data_var) {
	var ctx = document.getElementById("publicacoes").getContext("2d");
	var data = {
		labels : label_var,
		datasets : [{data : data_var}]
	}
	new Chart(ctx).Line(data);
}