Saturday, March 25, 2006

How to become published in catalog

Dear colleagues! To make your information globbaly accessible you may: 1. Write me and I'll create your card and publish it for a little fee (you'll have a possibility to manage your information). 2. You may register and create your card by yourself and write me a request to publish your card (for a little fee as well ;) ). Regarding money: this fee is necessary to continue the project. In nearest future I'll implement publishing service. So you'll have a possibility to publish your cards (for a little fee as well ;) ) Thanks a lot! P.S. Next time I'll write how you can use the functionality of Semantic links on your sites.
Today my hosting was down for several hours :( please don't kill me!

The major ideas of the Semantic Links area

There are three main points in the Semantic Links area: 1. Web Ontology Language (OWL) is used to represent structure of resources; 2. The resources should be easily readable and accessible for users; 3. The resources should be understandable by services. So I use OWL to represent data. You can see the example here but please don’t subtilize ;) Such data is really understandable by the software agents or services but not for people. For people it’s more appropriate to have something like picture 1 to understand the hierarchy on nouns:
And something like picture 2 to understand the structure of resources and to manage resources:

These screenshots show how the Protégé represents OWL classes and instances. To represent the instance Protégé uses widgets conception. For every slot in OWL class it will define default user interface widget of corresponded type. User can change the default widget for something else. E.g. if you have some text slot, it can contain the URI of image. So the user can use an image widget to view image by URI. The Semantic Links area utilizes the same idea. So I have a main OWL model that contains the meaning information (catalog.owl) and the model of UI representation (uidata.owl). The model of UI representation contains definitions of UI elements. So I used OWL to represent the meaning data and UI definitions. The UI definitions determine the representation of resources. The following OWL example expresses such approach:

<Widget rdf:ID="uiformdescriptions_RDFResource_38"> <Name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://reflections/bcatalog#Service</Name> … <Widget rdf:ID="uiformdescriptions_RDFResource_22"> <Left rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >20</Left> <Name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >http://reflections/bcatalog#ImageURI</Name> <Top rdf:datatype="http://www.w3.org/2001/XMLSchema#int">80</Top> <WidgetRealizationName rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >IconWidget</WidgetRealizationName> <Caption rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Image</Caption> <Width rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >300</Width> <Properties rdf:resource="#uiformdescriptions_RDFResource_15"/> <Height rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >60</Height> </Widget> … </Widget>

This example shows that widget for http://reflections/bcatalog#Service class contains widget that represents http://reflections/bcatalog#ImageURI slot. To represent slot IconWidget will be used. In the following picture the UI of http://reflections/bcatalog#Service depicted.

Tuesday, March 21, 2006

The forerunners of the project

The idea of the project was born after a lot of work for metadata based development. Currently there are a lot of technologies and platforms that provides different Domain Specific Notations to develop business software. Now I’m involved into one such project “Murometz” (www.realbh.ru on Russian only) which is based on the following ideas: 1. Metadata (ontology) is used to describe Domain Entities and they specific relations 2. Generators are used to generate the VB.Net code for: Domain Entities (object model) Representation of Domain Entities (user interface model) 3. Number of services (together they build up a platform “Murometz”) are used to process Domain Entities Security Persistence Search Replication Etc… In the Semantic Web world there are lots of tools for ontology development. And there is obvious that ontologies help program services and agents to understand the sense of information and relations between different resources. Now it’s really important to find a way how bring together ontologies, information resources and services and deliver they common power to end-user and business. First of all it’s necessary to provide every user with possibility to publish and manage his information in an ontology based manner. When amount of such information will get to a critical mass the semantic services and agents will grow extremely. And we’ll have a possibility to take advantages of such services. So this is the major idea.

How this can be done now? Well there is a number of tools that provide user with possibility to create own ontology and to create information resources in terms of such ontologies. I like the Protégé (http://protege.stanford.edu/) tool which is really powerful. But the Protégé is a java program oriented for developers. You should download it before you can add create some resource. Moreover you should deploy your resource to some open area. There is a WEB based project that provides some of Protégé functions on the web (see pOWL project http://powl.sourceforge.net/). The Semantic Links project will provide similar functions but it should be simpler for end-users. Also it should provide powerful functionality oriented to Web developers, service developers and ontology developers.

Diving into the Semantic Web

Dear colleagues! This post starts my journal about the Semantic Links project (www.semanticlinks.net). In my journal I plan to tell about the project itself, about the Semantic Web technologies and about some development know-how connected to the Semantic Web techiques. For me it's really obvious that the Internet is going to be a great brain with lots of semantically linked resources and smart services (or agents) that can explore such resources. So I started the Semantic Links project to introduce an open area for placing and linking any structured information resources. What is Semantic Links for? Well, I’ll illustrate it with one example: The catalog can contain information about flights, transfer services and hotels. Planning your trip you can consult the planning service. This service will explore available information basing on the semantic links and compare it with your preferences. After that the service will advise you what flight to prefer, what transfer services and what hotels will be best for you. If those companies have Internet ordering services than you have a possibility to order everything in a moment. The main point here is that everybody should have a possibility to create his own information resources and introduce these resources into common semantic network for further semantic processing. I believe that the number of semantic services in the Internet will grow. So these services can utilize the Semantic Links to solve they tasks.