Πέμπτη, 2 Δεκεμβρίου 2010

OWL API - a key to semantic web

Hello! It's been a while....since my last post but I  had a lot of things to do!!!
Okay... Let's start! 
Today I will introduce OWL API which has been my best friend the last two months as I use it  evryday in the implementation of my thesis.
OWL API is a Java API  and reference implemantation for creating, manipulating and serializing OWL ontologies. The latest version of the API is focused towards OWL 2.
The OWL API is  open source and is available under LGPL License.
The OWL API includes the following components:
  • An API for OWL 2 and an efficient in-memory reference implementation
  • RDF/XML parser and writer
  • OWL/XML parser and writer
  • OWL Functional Syntax parser and writer
  • Turtle parser and writer
  • KRSS parser
  • OBO Flat file format parser
  • Reasoner interfaces for working with reasoners such as FaCT++, HermiT, Pellet and Racer
In my opinion OWL API has very good Documentantion (there are some examples of code in the official site)  and a great mail list!
Check it out!


Πέμπτη, 11 Νοεμβρίου 2010

Semantic Web books: Semantic Web Programming

Semantic Web Programming  by John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez, Mike Smith and  Mike Dean was published in 2009. This book introduces semantic web programming with examples in Java. The book uses the Jena frameworkProtégé and the Eclipse IDE, I have read some parts of the book and I found it useful but as I decided to leave Jena and start programming with OWL API (I will shortly introduce OWL API) I never finished the book.

Semantic Web Programming provides both hands-on examples and in-depth technical explorations of the technologies and standards of the Semantic Web. The goal of the book is to provide developers with an invaluable resource that can be used initially as a resource for learning and later as an invaluable reference. Below you will find a full listing of the chapters contained in the book, which are divided into four major parts, each building on the previous.

Part One – Introducing Semantic Web Programming

1. Preparing to Program a Semantic Web of Data

2. Hello Semantic Web World

Part Two – Foundations of Semantic Web Programming

3. Modeling Information

4. Incorporating Semantics

5. Modeling Knowledge in the Real World
6. Discovering Information
7. Adding Rules

Part Three – Building Semantic Web Applications

8. Applying a Programming Framework

9. Combining Information

10. Aligning Information
11. Sharing Information

Part Four – Expanding Semantic Web Programming

12. Developing and Using Semantic Services

13. Managing Space and Time

14. Semantic Web Patterns and Best Practices
15. Moving Forward


Appendix A – RDF

Appendix B – The OWL Web Ontology Language

Appendix C – SWRL
Appendix D – SPARQL
Appendix E – Jena Reference Guide
Appendix F – Installation Reference Guide

You can take an inside look here

Τρίτη, 9 Νοεμβρίου 2010

Semantic Web or Web 3.0

I copy - paste an interesting part of a wkipedia article:

Definitions of Web 3.0 vary greatly. Amit Agrawal states that Web 3.0 is, among other things, about the Semantic Web and personalization.[51]. Focusing on the computer elements, Conrad Wolfram has argued that Web 3.0 is where "the computer is generating new information", rather than humans.[52]
Andrew Keen, author of The Cult of the Amateur, considers the Semantic Web an "unrealisable abstraction" and sees Web 3.0 as the return of experts and authorities to the Web. For example, he points to Bertelsman's deal with theGerman Wikipedia to produce an edited print version of that encyclopedia. CNN Money's Jessi Hempel expects Web 3.0 to emerge from new and innovative Web 2.0 services with a profitable business model.[53] Others still such as Manoj Sharma, an organization strategist, in the keynote "A Brave New World Of Web 3.0" proposes that Web 3.0 will be a "Totally Integrated World" - cradle-to-grave experience of being always plugged onto the net.[54]
Futurist John Smart, lead author of the Metaverse Roadmap[55] echoes Sharma's perspective, defining Web 3.0 as the first-generation Metaverse (convergence of the virtual and physical world), a web development layer that includes TV-quality open video, 3D simulations, augmented reality, human-constructed semantic standards, and pervasive broadband, wireless, and sensors. Web 3.0's early geosocial (Foursquare, etc.) and augmented reality (Layar, etc.) webs are an extension of Web 2.0's participatory technologies and social networks (Facebook, etc.) into 3D space. Of all its metaverse-like developments, Smart suggests Web 3.0's most defining characteristic will be the mass diffusion of NTSC-or-better quality open video TVs, laptops, tablets, and mobile devices, a time when "the internet swallows the television."[56] Smart considers Web 4.0 to be the Semantic Web and in particular, the rise of statistical, machine-constructed semantic tags and algorithms, driven by broad collective use of conversational interfaces, perhaps circa 2020.[57] David Siegel's perspective in Pull: The Power of Semantic Web, 2009, is consonant with this, proposing that the growth of human-constructed semantic standards and data will be a slow, industry-specific incremental process for years to come, perhaps unlikely to tip into broad social utility until after 2020.


Semantic Web books: Semantic Web Primer

Hello! I thought it would be nice to post details about some books I've read about Semantic Web.
The first book I I've read was "A Semantic Web Primer" by Grigoris Antoniou and Frank van Harmelen.
This is a good book for someone who wants to understand how RDF, OWL and ontologies work. But there are no examples of how can anybody  actually use RDF and OWL in applications.
A more formal description of the book:

The development of the Semantic Web, with machine-readable content, has the potential to revolutionize the World Wide Web and its use. A Semantic Web Primer provides an introduction and guide to this emerging field, describing its key ideas, languages, and technologies. Suitable for use as a textbook or for self-study by professionals, it concentrates on undergraduate-level fundamental concepts and techniques that will enable readers to proceed with building applications on their own. It includes exercises, project descriptions, and annotated references to relevant online materials. A Semantic Web Primer is the only available book on the Semantic Web to include a systematic treatment of the different languages (XML, RDF, OWL, and rules) and technologies (explicit metadata, ontologies, and logic and inference) that are central to Semantic Web development. The book also examines such crucial related topics as ontology engineering and application scenarios. 

After an introductory chapter, topics covered in succeeding chapters include XML and related technologies that support semantic interoperability; RDF and RDF Schema, the standard data model for machine-processable semantics; and OWL, the W3C-approved standard for a Web ontology language more extensive than RDF Schema; rules, both monotonic and nonmonotonic, in the framework of the Semantic Web; selected application domains and how the Semantic Web would benefit them; the development of ontology-based systems; and current debates on key issues and predictions for the future.

You can take a limited inside look here


Jena - a semantic web framework

Hello! Today I will introduce Jena - a framework for building semantic web applications.

From the official site of Jena:
Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDFRDFS and OWLSPARQL and includes a rule-based inference engine.
Jena is open source and grown out of work with the HP Labs Semantic Web Programme.
The Jena Framework includes:
  • Reading and writing RDF in RDF/XML, N3 and N-Triples
  • An OWL API
  • In-memory and persistent storage
  • SPARQL query engine
Besides, Jena's documentation in sourceforge I found very useful this article by IBM for an introduction on how Jena works.
Another useful link, is this youtube video, which gives detailed instructions on using Jena in Netbeans. I don't know what language is this, but I understood what to do. :)


Δευτέρα, 8 Νοεμβρίου 2010

Protégé - a key to success

Last year, I chose a course about Semantic Technologies and I had to develop an Ontology using OWL and test it with Protégé. I was familiar with OWL coding so at first I started writing the code with a txt editor. But as I was inserting new  classes, I realized that typing all this code would be a waste of time.  So, I decided to work on Protégé which generates the code.

After googling for a while, I found this great tutorial by Matthew Horridge and his team. I downloaded the 1.2 Edition. I highly recommend  this tutorial to anybody who intends to work with Protégé and OWL ontologies.

From the official site of Protégé:
Protégé is a free, open source ontology editor and knowledge-base framework.

The Protégé platform supports two main ways of modeling ontologies via the Protégé-Frames and Protégé-OWL editors. Protégé ontologies can be exported into a variety of formats including RDF(S), OWL, and XML Schema. (more)

Protégé is based on Java, is extensible, and provides a plug-and-play environment that makes it a flexible base for rapid prototyping and application development. (more)
Protégé is supported by a strong community of developers and academic, government and corporate users, who are using Protégé for knowledge solutions in areas as diverse as biomedicine, intelligence gathering, and corporate modeling.



Semantic Web keywords

  • Semantic Web: Semantic Web is a group of methods and technologies to allow machines to understand the meaning - or "semantics" - of information on the "World Wide Web". (wikipedia)
  • Ontology: In computer and information science, an ontology is a formal representation of knowledge as a set of concepts within a domain, and the relationships between those concepts. It is used to reason (see reasoning definition)about the entities within that domain, and may be used to describe the domain.(wikipedia)
  • Reasoning : Reasoning is the cognitive process of looking for reasons, beliefs, conclusions, actions or feelings. (wikipedia)
  • OWL: The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web. OWL is endorsed by the World Wide Web Consortium (W3C) and has attracted academic, medical and commercial interest. In October 2007, a new W3C working group was started to extend OWL with several new features as proposed in the OWL 1.1 member submission. This new version, called OWL 2, soon found its way into semantic editors such as Protégé and semantic reasoners such as Pellet,RacerPro, FaCT++ and HermiT. (wikipedia)

Κυριακή, 7 Νοεμβρίου 2010


Hello! This is my first post  to my new blog! I am a student from Greece and I've recently started exploring Semantic Web Programming as I work on my Thesis. Since there are not many resources and documentation  in the web about semantic techniques I thought it would be nice to share my work and search results with people who are interested in Semantic Web.