lucene与本体论

lucene与本体论,lucene,ontology,Lucene,Ontology,我对Lucene没有太多经验,但我需要完成一项研究。 我想使用基于本体的Lucene索引。所以,我需要任何类型的建议,我应该使用什么,如何将Lucene与本体论域结合起来等等 谢谢 幸运的 在Lucene中,您可能会执行以下操作 protected Document createDocumentFromTuple(Tuple t) { Document doc = new Document(); // this is the Lucene document to create

我对Lucene没有太多经验,但我需要完成一项研究。 我想使用基于本体的Lucene索引。所以,我需要任何类型的建议,我应该使用什么,如何将Lucene与本体论域结合起来等等

谢谢

  • 幸运的

    • 在Lucene中,您可能会执行以下操作

      protected Document createDocumentFromTuple(Tuple t) {
          Document doc = new Document(); // this is the Lucene document to create
          String docid = createId(t);
          doc.add(new Field("id", docid, Field.Store.YES, Field.Index.NOT_ANALYZED );
          doc.add(new Field("name", t.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED );
          doc.add(new Field("author", t.getAuthor(), Field.Store.YES, Field.Index.NOT_ANALYZED );
          doc.add(new Field("book", t.getBook(), Field.Store.YES, Field.Index.NOT_ANALYZED );
          return doc;
      }
      
      这假设这三个字段不应该被某个分析器分解为组成项;如果这不是正确的假设,请将最后一个参数更改为
      Field.Index.analysisted

      Solr等价物(如果不分析字段,可能更有意义)是

      protected SolrInputDocument createIndexableDocument(Tuple t) {
          SolrInputDocument doc = new SolrInputDocument();
          String docid = createId(t);
          doc.addField("id", docid);
          doc.addField("name", t.getName());
          doc.addField("author", t.getAuthor());
          doc.addField("book", t.getBook());
          return doc;
      }
      
      在Solr中,服务器端配置确定存储哪些字段、如何解析这些字段等


      在每种情况下,您都需要弄清楚如何为每个元组创建唯一的id这三个值中的一个。

      你需要更多关于你要查找的内容的详细信息。它应该很简单。我已经有一个本体,我想基于该本体为文档编制索引,但使用Lucene。这个本体有一些提示。我想为每个三元组创建一个文档,其中包含字段name、author和book。听起来你知道正是您想要做的,请查看以快速开始使用Lucene这里有详细信息…我知道Lucene Solr,但我没有尝试使用Solr。我已经手动注释了文档。现在我想使用注释器注释相同的存储库,但基于相同的本体。如果我可以使用mu本体扩展Solr,那么这就是解决方案对不起,如果我问了一个愚蠢的问题,我还是新来的:)这可能是我不理解这些词的定义和你在寻找什么。你能用一个例子来编辑你的问题吗?好的,谢谢!我会试试这个,我想这会管用的。我尝试过使用Nutch,我发现我可以使用任何我喜欢的本体论,当然是Nutch。但是,我认为这会起作用。非常感谢。如果这符合你的要求,请告诉我。好的,我会的。也许我对本体论的东西感到厌烦……但是有没有办法将本体论转换为元组或元组集呢?或者,从本体中提取某个元组是更好的主意吗?这听起来像是一个不同的问题&您需要更清楚地了解本体的含义,元组存储是什么,从本体中提取元组意味着什么。你提出的问题越集中,你就越有可能得到一个有用的答案。事实上,我只是在想本体论,因为这就是我的想法。但现在情况有点不同了。问题是我没有OWL文件,同时我有mdb文件。此文件只有很少的表(关键字、元数据、MetadataAuthor…)。所以,在这种情况下,元组更好。我必须从哪些字段中选择创建元组,您给我的这个示例将完成这项工作。谢谢你的评论。