IBM Web Ontology Manager has just been released.
> IBM Web Ontology Manager is a lightweight, Web-based tool for managing ontologies expressed in Web Ontology Language (OWL). With this technology, users can browse, search, and submit ontologies to an ontology repository.
Thursday, April 27, 2006
Monday, April 24, 2006
Rails is Web Architecture Friendly
I created a new Rails project today, using Rails 1.1 for the first time. There's a little gem inside Controllers created by the scaffolding:
# GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }
Not only is that so terse and simple to express in Ruby on Rails, but it's the right thing to do. Any action that may result in modification of the resource should be performed with POST.
It's great to see these types of Web Architecture best practices enforced, so that more applications are built with web friendliness.
# GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }
Not only is that so terse and simple to express in Ruby on Rails, but it's the right thing to do. Any action that may result in modification of the resource should be performed with POST.
It's great to see these types of Web Architecture best practices enforced, so that more applications are built with web friendliness.
Labels:
rubyonrails,
web
Monday, April 17, 2006
Pellet 1.3 Available
Pellet, an open source OWL reasoner from Mindswap, is now at version 1.3. It is a very capable reasoner, and has excellent integration with Jena.
Below is a list of changes for 1.3:
* ENHANCED: SPARQL query engine PelletQueryExecution tu answer non-SELECT queries
* ADDED: Processing class expressions in SPARQL queries
* ADDED: Treating bnodes in SPARQL queries as non-distinguished variables
* ADDED: Query optimization features (simplification and reordering). Reordering feature is
disabled by default and needs to be enabled in the configuration file.
* ENHANCED: Datatype reasoning support for user-defined datatypes
* ADDED: Support for InverseFunctional datatype properties (a.k.a. keys). (experimental)
* ADDED: Support for DL-safe rules (experimental)
* ENHANCED: Pellet command line options
* ENHANCED: More configuration parameters in pellet.properties
Below is a list of changes for 1.3:
* ENHANCED: SPARQL query engine PelletQueryExecution tu answer non-SELECT queries
* ADDED: Processing class expressions in SPARQL queries
* ADDED: Treating bnodes in SPARQL queries as non-distinguished variables
* ADDED: Query optimization features (simplification and reordering). Reordering feature is
disabled by default and needs to be enabled in the configuration file.
* ENHANCED: Datatype reasoning support for user-defined datatypes
* ADDED: Support for InverseFunctional datatype properties (a.k.a. keys). (experimental)
* ADDED: Support for DL-safe rules (experimental)
* ENHANCED: Pellet command line options
* ENHANCED: More configuration parameters in pellet.properties
Labels:
jena,
owl,
pellet,
rdf,
semantic web
Friday, April 14, 2006
Semantic Web Talk Debrief
The Semantic Web talk at HJUG went fairly well. About eight people attended, and a few have either used RDF or are currently using RDF and OWL. The questions from the audience were insightful, demonstrating that they were thinking critically about the technologies. Some questions were quite expected:
Q) If anyone can say anything about anything, what's to stop someone from saying something wrong? How will I know *not* to use those incorrect assertions for my reasoning?
A) Good question! I have two solutions for this. The first is a Google-esque algorithm and hueristics will appear, allowing the top linked RDF documents to bubble to the top. That is, the more people that link to the RDF document, the more likely that the assertions contained within are valid for a majority of the views of the world. The second answer relies on ontologies, for they are able to determine if there are inconsistencies in the world. If someone says that cars and people are disjoint, and you have assertions in your RDF model that says X is a person and a car, then your reasoner can determine that at least one fact is incorrect. (of course, the hand waving here is that someone has to write the ontology, and you have to have a reasoner that provides feedback in a human readable way.)
Q) What if I use foaf:interest, but someone else uses yahoo:interest? My SPARQL queries won't work.
A) You're right, non-reasoning RDF stores won't know that foaf:interest and yahoo:interest are the same thing (for your view of the world). Again, ontologies are required to provide the mapping between different ontologies. *If* you have a mapping ontology, and *if* your RDF store performs reasoning, then your SPARQL queries will work when you have two URIs for the same concept.
Q) So... what have people built with RDF?
A) The answer I gave here is the biggest adoption of semweb technologies has been bioinformatics, afaik. However, I couldn't think of any business critical, production applications using RDF as a key component. I need to do more research here.
A better question might be, "What are some applications that utilize RDF/OWL that would have been very difficult to create otherwise?" And by applications, I mean business critical, production applications that customers use every day. I have a feeling that a lot of the RDF/OWL work is done for in-house, custom applications. What are those applications like? What scale have they been built out to?
All in all, a good talk. I met some people who are using Protege and Racer Pro to develop decision support applications for first responders. Don't know if it's a proof of concept of a deployed application yet.
Q) If anyone can say anything about anything, what's to stop someone from saying something wrong? How will I know *not* to use those incorrect assertions for my reasoning?
A) Good question! I have two solutions for this. The first is a Google-esque algorithm and hueristics will appear, allowing the top linked RDF documents to bubble to the top. That is, the more people that link to the RDF document, the more likely that the assertions contained within are valid for a majority of the views of the world. The second answer relies on ontologies, for they are able to determine if there are inconsistencies in the world. If someone says that cars and people are disjoint, and you have assertions in your RDF model that says X is a person and a car, then your reasoner can determine that at least one fact is incorrect. (of course, the hand waving here is that someone has to write the ontology, and you have to have a reasoner that provides feedback in a human readable way.)
Q) What if I use foaf:interest, but someone else uses yahoo:interest? My SPARQL queries won't work.
A) You're right, non-reasoning RDF stores won't know that foaf:interest and yahoo:interest are the same thing (for your view of the world). Again, ontologies are required to provide the mapping between different ontologies. *If* you have a mapping ontology, and *if* your RDF store performs reasoning, then your SPARQL queries will work when you have two URIs for the same concept.
Q) So... what have people built with RDF?
A) The answer I gave here is the biggest adoption of semweb technologies has been bioinformatics, afaik. However, I couldn't think of any business critical, production applications using RDF as a key component. I need to do more research here.
A better question might be, "What are some applications that utilize RDF/OWL that would have been very difficult to create otherwise?" And by applications, I mean business critical, production applications that customers use every day. I have a feeling that a lot of the RDF/OWL work is done for in-house, custom applications. What are those applications like? What scale have they been built out to?
All in all, a good talk. I met some people who are using Protege and Racer Pro to develop decision support applications for first responders. Don't know if it's a proof of concept of a deployed application yet.
Labels:
hjug,
owl,
presentation,
rdf,
semantic web
Tuesday, April 11, 2006
The URI for RDF itself?
Was wondering what the URI for RDF, *the concept*, is? There is http://www.w3.org/RDF/ but that's the homepage for RDF, as far as I'm concerned.
Is there a httpRange-14 compatible URI for RDF *the idea*?
Is this a case of the shoemaker's children going around barefoot?
Is there a httpRange-14 compatible URI for RDF *the idea*?
Is this a case of the shoemaker's children going around barefoot?
Labels:
rdf,
semantic web,
uri
Isn’t it semantic? - Interview with Tim BL
Isn't it semantic? is an interview with Tim Berners-Lee, from BCS. A choice quote:
Q: Ian Horrocks spoke to the BCS on ontologies, the application of which would clearly see a true Semantic Web, but how can we apply these principles to the billions of existing Web pages?
A: Don't. Web pages are designed for people. For the Semantic Web we need to look at existing databases and the data in them.
To make this information useful semantically requires a sequence of events:
1. Do a model of what's in the database - which would give you an ontology you could work out on the back of an envelope. Write it in RDF Schema or OWL (the Web Ontology Language).
2. Find out who else has already got equivalent terms in an ontology. For those things use their terms instead.
3. Write down how your database connects to those things.
Q: Ian Horrocks spoke to the BCS on ontologies, the application of which would clearly see a true Semantic Web, but how can we apply these principles to the billions of existing Web pages?
A: Don't. Web pages are designed for people. For the Semantic Web we need to look at existing databases and the data in them.
To make this information useful semantically requires a sequence of events:
1. Do a model of what's in the database - which would give you an ontology you could work out on the back of an envelope. Write it in RDF Schema or OWL (the Web Ontology Language).
2. Find out who else has already got equivalent terms in an ontology. For those things use their terms instead.
3. Write down how your database connects to those things.
Labels:
interview,
semantic web,
timbl
Programming the Semantic Web Talk at University of Hawaii
I will be giving a Programming the Semantic Web talk at University of Hawaii on April 12th, 2006, 6pm HST. The talk will be located in the POST building, room 302, at the
University of Hawaii Manoa campus.
I will attempt to explore the foundations of the semantic web (RDF, SPARQL, OWL) and what you can do with those technologies right now. I promised not to do any hand waving, and to show working code.
Here's the talk's abstract:
> The Semantic Web is an effort to enhance the current Web with machine processable information. It is a set of technologies and practices designed to allow machines to combine and reason about Web resources. This talk will explore RDF, the underlying data model for the Semantic Web, SPARQL, the query language for RDF, and OWL, the web ontology
language. We will look at deployable solutions with these technologies that you can use today. Problem spaces such as aggregation of multiple disparate information sources, flexible data models, and knowledge representation and reasoning will be addressed. Avoid the hype, this is the "stuff you can use right now" talk.
University of Hawaii Manoa campus.
I will attempt to explore the foundations of the semantic web (RDF, SPARQL, OWL) and what you can do with those technologies right now. I promised not to do any hand waving, and to show working code.
Here's the talk's abstract:
> The Semantic Web is an effort to enhance the current Web with machine processable information. It is a set of technologies and practices designed to allow machines to combine and reason about Web resources. This talk will explore RDF, the underlying data model for the Semantic Web, SPARQL, the query language for RDF, and OWL, the web ontology
language. We will look at deployable solutions with these technologies that you can use today. Problem spaces such as aggregation of multiple disparate information sources, flexible data models, and knowledge representation and reasoning will be addressed. Avoid the hype, this is the "stuff you can use right now" talk.
Labels:
hawaii,
presentation,
semantic web,
uh
Monday, April 3, 2006
ActiveRDF: object oriented RDF in Ruby
ActiveRDF: object-oriented RDF in Ruby is a paper submitted to Scripting for the Semantic Web 2006. Inside, the authors discuss the challenges and successes with using RDF as a storage backend for applications, much in the same way that RDBMS are currently used. Scripting languages, such as Ruby, offer the best chance for RDF integration, because RDF is so flexible, dynamic, and often untyped. Ruby, because it is so dynamic (you can easily add methods to classes, for instance), is a good way to see where the intersection between an OO scripting language and semantic web technologies mix.
I'd like to see integration with transactions, plus explicit support for Redland's contexts. ActiceRDF is a great step forward in learning how deep RDF should go in the application stack.
I'd like to see integration with transactions, plus explicit support for Redland's contexts. ActiceRDF is a great step forward in learning how deep RDF should go in the application stack.
Labels:
rdf,
Ruby,
semantic web
Subscribe to:
Posts (Atom)