-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
27 lines (23 loc) · 689 Bytes
/
Copy pathmain.js
File metadata and controls
27 lines (23 loc) · 689 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env node
const axios = require('axios');
const fs = require('fs');
const endPoint = 'https://query.wikidata.org/bigdata/namespace/wdq/sparql';
if (process.argv < 3) {
console.error('I need at least one file which contains a SPARQL request.');
process.exit(1);
}
const filename = process.argv[2];
const sparql = encodeURIComponent(fs.readFileSync(filename));
axios.get(endPoint + `?query=${sparql}`, {
headers: {
Accept: 'text/csv'
}
}).then(response => {
if (process.argv[3]) {
fs.writeFileSync(process.argv[3], response.data);
return;
}
console.log(response.data);
}).catch(error => {
console.log('error', error);
});