开发语义Web应用程序 [英] Developing a Semantic Web Application
问题描述
虽然我在使用ASP技术开发动态网站方面有一点经验,但是我是语义Web编程的新手,并且我打算建立一个基于语义Web技术的网站.我想开发一个搜索引擎, Web用户可以在其中从后端RDF三元商店查询关键字.我想使用Java和JSP来实现网站.我有以下问题:
Although i have a little bit of experience in developing dynamic websites using ASP technologies, but I am new to semantic web programming, and i intend to implement a website based on semantic web technology.I would like to develop a search engine, where a web user can query for keywords from the backend RDF triple store.I want to implement the website using Java and JSP.I have following questions:
- 我目前正在研究Jena框架和SPARQL,但是 我不确定我需要学习哪些其他技术 实施网站.
- RDF和OWL有什么区别,我经历了 很多网络资源,但我仍然感到困惑.根据我的理解 RDF和OWL都定义了概念之间的关系,但是OWL是 在定义关系方面更加丰富.
- 不同的OWL词汇(例如FOAF,SIOC等)的含义是什么? 我们需要这些词汇吗?
- Virtuso Open Link的确切目的是什么 软件( http://ods.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider )
- I am currently studying Jena framework and SPARQL to start with,but i am not sure what other technologies i need to study in order to implement the website.
- What is the difference between RDF and OWL, I have gone through a lot of web resources but i am still confused.As per my understanding RDF and OWL both define relationship between concepts but OWL is more rich in terms of defining relations.
- What is meant by different OWL Vocabularies like FOAF, SIOC etc.Why do we need these vocabularies?
- What exactly is the purpose of Virtuso Open Link Software(http://ods.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider)
任何帮助将不胜感激.
谢谢!
推荐答案
回复:您的第一个问题-为什么要使用RDF实施关键字搜索?关键字搜索不是语义性的,并且有许多已建立的关键字搜索框架和API,例如Lucene.
Re: your first question - why do you want to use RDF to implement a keyword search? Keyword search isn't semantic, and there are many established frameworks and APIs for keyword search, such as Lucene.
回复:比较RDF和OWL的第二个问题是比较苹果和橘子. RDF基本上是用于声明数据的,但是OWL是RDF之上的一个用于声明本体(方案)的层. RDFS(RDF架构)和OWL之间的比较更有意义,它们都针对本体层.
Re: your second question, comparing RDF and OWL is comparing apples and oranges. RDF is basically for declaring data, but OWL is a layer on top of RDF that is for declaring ontologies (schemas). A more meaningful comparison would be between RDFS (RDF Schema) and OWL, which both address the ontology layer.
示例:
在RDF中,您可能会说约翰·史密斯(John Smith)是一个年龄为"42"并已嫁给吉尔·史密斯(Jill Smith)的人.
In RDF you might state that John Smith is a Person who hasAge "42" and is marriedTo Jill Smith.
在RDFS或OWL中,您将声明Person是一个类,hasAge是一个属性(具有Person的域和xsd:integer的范围),而结婚的To是一个属性(具有Person的域和范围的).
In RDFS or OWL you would declare that Person is a class, hasAge is a property (with domain of Person and range of xsd:integer) and marriedTo is a property (with domain and range of Person).
在OWL中,您还可以声明namedTo是一个对称属性(如果A已绑定到B,则B必须已绑定到A). RDF功能不强大,因此您无法做出此特定声明,因此也无法推断对称属性等.
In OWL you can also declare that marriedTo is a symmetric property (if A is marriedTo B, then B must be marriedTo A). RDF isn't this powerful, so you can't make this particular statement, so can't make inferences about symmetric properties etc.
这篇关于开发语义Web应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!