Javascript 如何将用户输入添加到现有SPARQL查询中

Javascript 如何将用户输入添加到现有SPARQL查询中,javascript,sparql,ontology,Javascript,Sparql,Ontology,我想将用户的输入集成到SPARQL查询中。这是我现有的代码,但我无法让它工作 外部JS文件中的javascript: $('#submit99').on('click', function(e) { var userInput = $('#messageInput').val(); var query = "PREFIX own: <http://www.owl-ontologies.com/travel.owl#>" + "

我想将用户的输入集成到SPARQL查询中。这是我现有的代码,但我无法让它工作

外部JS文件中的javascript:

    $('#submit99').on('click', function(e) {
    var userInput = $('#messageInput').val();

    var query = "PREFIX own: <http://www.owl-ontologies.com/travel.owl#>" +
                "PREFIX trvl: <http://www.owl-ontologies.com/travel.owl#>" +
                "select distinct ?label where {" +
                "?s a trvl:" + userInput + " ."
                "OPTIONAL {" +
                "?type rdfs:label ?label }" +
                "}";
    var endpoint = 'http://localhost:5820/finalProject/query';
    var format = 'JSON';


    $.get('/sparql',data={'endpoint': endpoint, 'query': query, 'format': format}, function(json){
        var pre = $('<pre></pre>');
        pre.text(JSON.stringify(json));
        $('#linktarget99').html(pre);
    });
});

已经修好了。userinput容器空间给定的值,它。。。升级密码

似乎是a+之后的a+小姐是trvl:+userInput+。谢谢。但没有解决问题。如何打印变量userInput以便查看其包含的内容?可以使用console.loguserInput在javascript控制台中打印,或者使用alertuserInputI进行快速调试,以避免出现错误。您显示的终端消息不是一个错误报告:它只是一个日志条目,显示发送了HTTP GET请求,并收到了HTTP 200 OK响应。因此,事实上,看起来查询执行正确,并且您返回了一个结果。另外:请注意,您在终端上返回的消息基于您的旧代码,其中缺少“+”。如果您在修复该问题后再次尝试,请编辑您的问题以更新您的代码以及您返回的实际消息/错误。?s a trvl:+userInput+。这是危险的。如果您有选择的话,请考虑使用参数化字符串。如果userInput类似于someResource,会发生什么?然后p和o将绑定到资源的每个属性。这可能会泄露信息。它还可能允许恶意用户插入昂贵的查询,从而使您的服务器无法正常工作。谢谢。那将是我工作时需要照顾的事情。出于正确的需要,我希望以一种漂亮的表格格式呈现JSON结果
<div class="header">
    <div class="container">
        <h1> Zoek de plek voor je favoriete activiteiten </h1>
        <p class="beschrijving"> Wil je weten op welke plek jij bepaalde activiteiten kunt doen? Vul hieronder de activiteit in en wij zoek het voor je uit! <a href="tutorial.html"> tutorial </a> </p>
        <form role='form'>
            <div class='form-group'>
                <textarea class='form-control' id='messageInput' placeholder='type some nifty schilderij' row='1'> </textarea>
            </div>
        </form>
        <div><a id="submit99" class='btn btn-primary'>Zoek de locatie van het schilderij</a></div>
    </div>
</div>
127.0.0.1 - - [14/Oct/2015 20:02:52] "GET /sparql?endpoint=http%3A%2F%2Flocalhost%3A5820%2FfinalProject%2Fquery&query=PREFIX+own%3A+%3Chttp%3A%2F%2Fwww.owl-ontologies.com%2Ftravel.owl%23%3EPREFIX+trvl%3A+%3Chttp%3A%2F%2Fwww.owl-ontologies.com%2Ftravel.owl%23%3Eselect+distinct+%3Flabel+where+%7B%3Fs+a+trvl%3A++BedAndBreakfast.&format=JSON HTTP/1.1" 200 -