首页 > 解决方案 > 使用 nodejs 从 Dbpedia 搜索关键字

问题描述

我是 node.js 的新手。我从此链接从 GitHub 下载并执行了一个项目。在这个链接上有这个应用程序的现场演示。它正在使用 wikidata 运行 rdf 搜索。这是我在文件 public/scripts/controllers/main.js 中找到的用于从 wikidata 中搜索关键字的函数。

 function search () {
    //TODO: fix when null;
    if (vm.searchInput != vm.lastSearch) {
      var input = vm.searchInput;
      vm.lastSearch = input;
      vm.searchWait = true;
      vm.noResults  = false;
      //$http.get('https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&language=en&limit=20&uselang=en&type=item&continue=0&search='+input).then(
      $http({
        method: 'GET',
        url: 'https://www.wikidata.org/w/api.php',
        params: {
          action: 'wbsearchentities',
          format: 'json',
          language: 'en',
          uselang: 'en',
          type: 'item',
          continue: '0',
          limit: '20',
          search: input,
          origin: '*',
        }
      }).then(
        function onSuccess (response) {
          onSearch(response.data.search);
        },
        function onError (response) { onSearchErr(); console.log('Error: ' + response.data); }
      );
      //request.execQuery(query.search(input), onSearch, onSearchErr);
    }
    vm.searchActive = true;
  }

我已经更改了 DBpedia 的上述功能,但它没有从 DBpedia 搜索关键字

  function search2 () {
    //TODO: fix when null;
    if (vm.searchInput != vm.lastSearch) {
      var input = vm.searchInput;
      vm.lastSearch = input;
      vm.searchWait = true;
      vm.noResults  = false;
      //$http.get('https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&language=en&limit=20&uselang=en&type=item&continue=0&search='+input).then(
      $http({
        method: 'GET',
        url: 'http://dbpedia.org/sparql',
        params: {
          action: 'wbsearchentities',
          format: 'json',
          language: 'en',
          uselang: 'en',
          type: 'item',
          continue: '0',
          limit: '20',
          search: input,
          origin: '*',
        }
      }).then(
        function onSuccess (response) {
          onSearch(response.data.search);
        },
        function onError (response) { onSearchErr(); console.log('Error: ' + response.data); }
      );
      //request.execQuery(query.search(input), onSearch, onSearchErr);
    }
    vm.searchActive = true;
  }

如何更改上述功能以在 DBpedia 中进行搜索?请帮助

标签: node.jsrdfsemantic-websemanticsdbpedia

解决方案


推荐阅读