我正在使用此Javascript RDF parser。
在文档中说它相应地使用它:
getRDFURL(url,func,followSeeAlso)
从网址下载并解析RDF。
url是接收RDF的url,使用完整的url,而不是相对的url,否则基本url将是错误的。
func是一个在处理rdf时调用的javascript函数。
在the file for the parser中,我发现了这个空变量:
var baseURL='';
我把它填满了:
var baseURL='http://localhost:8888/demo/StackOverflow-Europe.rdf';
在我的index.html
文件中,我尝试以这种方式调用此解析脚本:
<!DOCTYPE html>
<meta charset='utf-8'>
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<link rel='stylesheet' href='style.css'>
</head>
<body>
<!--
<script type='text/javascript' src='script.js'></script>
-->
<script type='text/javascript' src='parser.js'></script>
</body>
</html>
但最后......什么也没发生。
我做错了什么?
我猜这不是调用javascript文件的正确方法吗?是吗?或许还有另一个原因。
我对Javascript不熟悉。
答案 0 :(得分:1)
正如Jeen Broekstra在评论中所说,您在html文件中使用的行:
<script type='text/javascript' src='parser.js'></script>
只能用于加载rdf-parser库。
您可以直接在主服务器上加载
<script src="http://www.jibbering.com/rdf-parser/parser.js"></script>
并使用您自己的脚本。
您可以使用官方演示作为起点:
<script type="text/javascript">
function demo() {
foafNS = "http://xmlns.com/foaf/0.1/";
myRDF = new RDF();
myRDF.getRDFURL('/foaf2.rdf', callback);
function callback() {
alert("http://jibbering.com/foaf2.rdf contains the following triples\n\n" + myRDF.toNTriples())
nm = myRDF.Match(null, null, foafNS + "name", "Jim Ley")
mbox = myRDF.getSingleObject(null, nm[0].subject, foafNS + "mbox", null)
alert("The e-mail address of Jim Ley is " + mbox)
}
}
document.write('<p>See demo using <a href="/foaf2.rdf">/foaf2.rdf</a> <button onclick="demo()">See Demo</button></p>')
</script>
new RDF()
允许您创建RDF实用程序对象getRDFURL('/foaf2.rdf', callback)
加载foaf2.rdf
文件并将函数callback
设置为回调,即在完全加载rdf文件时调用此函数。myRDF.toNTriples()
返回所有RDF三元组。nm = myRDF.Match(null, null, foafNS + "name","Jim Ley")
返回与主题/谓词/对象模式匹配的三元组数组。mbox = myRDF.getSingleObject(null, nm[0].subject, foafNS + "mbox", null)
返回与主题/谓词/对象模式匹配的三元组集合中的对象值,如果未找到则返回空字符串。