jcramalho

JSON2TTL

Apr 8th, 2019
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const jsonfile = require('jsonfile')
  2. const file = 'movies.json'
  3. jsonfile.readFile(file)
  4.   .then(obj => {
  5.       var atores = [];
  6.       var generos = [];
  7.       console.log("\n### FILMES ###\n");
  8.       for(var i=0; i<obj.length; i++){
  9.           var filme = "";
  10.           filme += ":f_" + obj[i].title.replace(/\W/g, '_') + " a owl:NamedIndividual;\n";
  11.           filme += "\t:ano \"" + obj[i].year + "\";\n";
  12.           obj[i].cast.forEach(ator => {
  13.             if(atores.indexOf(ator) == -1){
  14.                 atores.push(ator);
  15.             }  
  16.             filme += "\t:temAtor :a_" + ator.replace(/\W/g, '_') + ";\n";
  17.           });
  18.  
  19.           obj[i].genres.forEach(gen => {
  20.             if(generos.indexOf(gen) == -1){
  21.                 generos.push(gen);
  22.             }  
  23.             filme += "\t:temGénero :gen_" + gen.replace(/\W/g, '_') + ";\n";
  24.           });
  25.  
  26.           filme += "\t:título \"" + obj[i].title.replace(/\"|\n/g, '\'') + "\".\n";
  27.  
  28.           console.log(filme);
  29.       }
  30.  
  31.       console.log("\n### ATORES ###\n");
  32.       atores.forEach( a => {
  33.           var ator = "";
  34.           ator += ":a_" + a.replace(/\W/g, '_') + " a owl:NamedIndividual, :Pessoa;\n";
  35.           ator += "\t :nome \"" + a.replace(/\"/g,'\'') + "\".\n";
  36.           console.log(ator);
  37.       })
  38.  
  39.       console.log("\n### GÉNEROS ###\n");
  40.       generos.forEach( g => {
  41.         var gen = "";
  42.         gen += ":gen_" + g.replace(/\W/g, '_') + " a owl:NamedIndividual, :Género.\n";
  43.         console.log(gen);
  44.     })
  45.  
  46.   })
  47.   .catch(error => console.error(error))
Advertisement
Add Comment
Please, Sign In to add comment