当前位置: 首页 > 面试题库 >

如何用Java创建本体?

郎志
2023-03-14
问题内容

我有一些要在基本的OWL本体中编写的数据三元组。我的三胞胎像:

Delhi is part of India

要么

India is an Asian country

请注意,我具有“是”,“部分”或“相关于”之类的关系。建立本体的最简单方法是什么?任何有效的示例或对示例网站的引用都将为您提供很大的帮助!


问题答案:

您的问题中有很多不同的东西,我强烈建议您花一些时间(不要使用键盘!)来思考您要在此处实现的目标。

首先,地理本体会变得相当复杂,并且在这一领域已经完成了许多工作。可能最明显的起点是GeoNames本体,它为地理特征命名,包括Dehli等城市和印度等国家。至少您应该为应用程序中的位置重用这些名称,因为这将最大程度地提高您的数据可以成功与其他可用链接数据源结合的机会。

但是,您可能不希望在应用程序中使用整个GeoName(我猜是这样),因此您还需要弄清楚 为什么
根本需要一个本体。解决此问题的一种好方法是从您的应用程序外部开始:不必担心要使用哪种Jena模型,而应首先考虑完成语句
“使用本体,我的应用程序用户将能够使用”。 ..” 。然后应该引导您确定一些 能力问题
(例如,参见本指南的第3节)用于您的本体。一旦知道了要表示的信息种类以及需要对其应用的查询种类,您的技术选择就会更加清楚。我意识到这些应用程序通常是迭代开发的,并且您将希望尽早尝试一些代码,但是我仍然主张在开始编码之旅之前更加清楚地记住目的地。


您暗示要使用Jena来驱动网站。这里有很多选择。不要被 语义网 一词误导-
这实际上是指将类似Web的质量引入到互连的数据集中,而不是将语义本身放入人类可读的网页中。尽管您可以这样做,但很多人也可以这样做,但是您的体系结构中将需要一些其他层。我们通常使用以下两种方法之一:在servlets容器中将Jena与模板引擎(例如Velocity)一起使用,或使用Ruby
Web框架并通过JRuby驱动Jena
。解决此特定问题的方法还有很多:Jena不能直接解决Web发布问题,但是可以在任何基于Java的Web框架中使用。

最后,关于名称空间,您应该真正重用现有词汇表,并在可能的情况下重用名称空间。不要为已经在网络上某处具有表示形式的事物重新命名。使用GeoNames或DbPedia或它们适合的任何其他许多已发布词汇。如果不合适,则应创建一个新名称,而不要以不兼容的方式使用现有名称。在这种情况下,您应该使用应用程序的Web域(例如,您的公司或大学)作为命名空间的基础。理想情况下,您应该在名称空间的基本URL上发布本体,但是根据本地Web策略有时可能很难安排本体。



 类似资料:
  • 问题内容: 本质上,我想要一个可以连接多个人的基本Java Server,并且当一个连接的客户端(已经在Obj- c中进行了编码)向其发送数据时,它会将其发送回所有连接的人。 我是一名真正的Java新手,在可预见的将来,我将不再需要Java来做任何事情,因此我希望尽快解决,而不是从头开始学习Java。因此,如果任何人都有一些源代码或教程,那么将不胜感激。 谢谢:) Ozzie 问题答案: 这是Su

  • 问题内容: 我想在我的应用程序中创建一个流程。但是,从Java的API环顾四周之后,我还是不太了解它。 基本上,我想创建一个多进程应用程序。但是新过程是我的应用程序中的一类。 我知道有些人可能会问为什么不创建线程?因为该类正在调用Matlab代码,所以问题出在这里,而Java类在这里 有什么办法吗? 问题答案: 只有一种方法可以用Java创建进程,基本上,它允许您像通过命令行界面一样启动新的JVM

  • 我在Eclipse中完成了我的项目。我有,,和

  • 问题内容: 目前,我正在用Java创建XML文件,并通过使用XSL / XSLT进行转换将其显示在JSP页面中。现在,我需要获取该XML文件并在PDF中显示相同的信息。有什么办法可以通过使用某种XSL文件来做到这一点? 我已经看过iText Java-PDF库,但是找不到任何将其用于XML和样式表的方法。 任何帮助将不胜感激。提前致谢! 问题答案: 您可以使用XSL格式对象。这里有一些很好的文章,

  • 问题内容: 一般来说,我刚接触Java和Android编程,但是我想创建一个小型Java库,以便在普通(非Android)Java应用程序和Android应用程序之间共享一些代码;所以我的问题是用Eclipse创建普通Java库的最佳方法是什么? 我在任何地方都找不到从Eclipse创建新的Java库项目的选项。这是否意味着我必须使用普通的Java应用程序作为起点?因为这也将用于普通的Java应用

  • 问题内容: 我们创建为: 我们如何用Java 创建一个? 问题答案: 或使用泛型(Java 7或更高版本) 或带有泛型(旧的Java版本)