我目前正在做一个项目,但我无法弄清楚如何从 MusicBrainz 检索数据(例如艺术家/歌曲/专辑名称)。
更加具体
我的最终目标是拥有类似于在 DBPedia 上运行的这个脚本的东西:
function myQuery(artist,title) {
var DBP = "http://dbpedia.org/sparql";
var query = [
"SELECT DISTINCT ?abstract WHERE {",
"?artist foaf:name \"" + artist +"\"@en .",
"?title a dbo:Song ;",
"dbo:artist ?artist ;",
"foaf:name \"" + title +"\"@en ;",
"dbo:abstract ?abstract .",
"FILTER (langMatches(lang(?abstract),\"it\")) }" ].join(" ");
var queryURL = DBP + "?query=" + encodeURIComponent(query) + "&format=json" ;
return queryURL;
}
该myQuery()
函数在一个sendQuery()
基本上创建 xhttp 对象并在生成的字符串上使用 GET 方法的函数中调用。
运行 HTTP 请求后,我得到一个 JSON 文件,其中包含我需要的结果。
在 MusicBrainz SPARQL 端点上遵循相同的路径只会给我一个错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。
我了解 CORS 是什么,但我仍然不知道如何克服这个障碍。
为了在我的工作中实施这项服务,我应该采用什么方法?