21/09/2006
Semantic web portals: state-of-the-art survey
Today i finished the report on the other paper here and i will introduce my new paper introduction. Semantic Web Portals State of Art Survey.
This survey is about the semantic web portals architecture and give a pleasant way and rules for the web portals and semantic web portals.
Older Version of this paper can be found at here.
At this version of survey, if you a quick look up the older one, the difference is the examples. There is no special example summary about the semantic web portals using today.
18/09/2006
Design Patterns-Model-View-Controller-Observer Pattern
1.1.1 DESEN KATEGORİSİ
Davranışsal (behavioural) tasarım deseni kategorisinde yer almaktadır.
1.1.2 AMAÇ
1 - N ilişkisi olan nesnelerden, birinde durum değişikliği meydana geldiğinde, o nesneye bağımlı olan diğer nesnelerin haberdar edilmesi amacıyla kullanılır.
1.1.3 UYGULANABİLİRLİK
“Observer” tasarım desenin aşağıdaki durumlarda kullanılması uygundur.
· Bir soyutlamada birinin diğerine bağımlı olan bir yönü varsa. (Bu iki tarafı – bir taraf ve ona bağımlı olan diğer tarafı- farklı nesnelerde enkapsüle etmek onların bağımsız olarak tekrar kullanım şansını arttıracaktır.)
· “Subject” nesnesinin kaç tane “observer” nesnesine sahip olduğunu bilmediği durumlarda.
· “Subject” nesnesinin “observer” nesnelerinin kim olduğunu bilmeden onları bilgilendirmesi gerektiği durumlarda.
1.1.4 GENEL DESEN YAPISI
“Observer” arayüzündeki “notify()” metodu “ConcereteObserverA” ve “ConcereteObserverB” sınıflarımda farklı şekillerde gerçekleştirilmektedir. “Subject” arayüzünde ise “registerObserver(observer)”, “unregisterObserver(observer)” ve “notifyObservers()” metodları tanımlanmıştır.
OBSERVER PATTERN
In our new, more sophisticated windowing world, we often would
like to display data in more than one form at the same time and have all of the
displays reflect any changes in that data. For example, you might represent
stock price changes both as a graph and as a table or list box. Each time the
price changes, we’d expect both representations to change at once without
any action on our part.
We expect this sort of behavior because there are any number of
Windows applications, like Excel, where we see that behavior. Now there is
nothing inherent in Windows to allow this activity and, as you may know,
programming directly in Windows in C or C++ is pretty complicated. In Java,
however, we can easily make use of the Observer Design Pattern to cause our
program to behave in this way.
The Observer pattern assumes that the object containing the data is
separate from the objects that display the data, and that these display objects
observe changes in that data. This is simple to illustrate as we see below.
When we implement the Observer pattern, we usually refer to the
data as the Subject and each of the displays as Observers. Each of these
observers registers its interest in the data by calling a public method in the
Subject. Then, each observer has a known interface that the subject calls
when the data change. We could define these interfaces as follows:
abstract interface Observer {
//notify the Observers that a change has taken place
public void sendNotify(String s);
}
//=============================================
abstract interface Subject {
//tell the Subject you are interested in changes
public void registerInterest(Observer obs);
}
The advantage of defining these abstract interfaces is that you can
write any sort of class objects you want as long as they implement these
interfaces, and that you can declare these objects to be of type Subject and
Observer no matter what else they do.
17/09/2006
A Platform for the Development of Semantic Web Portals
http://portal.acm.org/popBibTex.cfm?id=1145615&ids=SERIES10714.1145581.1145614.1145615&types=series.proceeding.section.article&reqtype=article&coll=ACM&dl=ACM&CFID=15151515&CFTOKEN=6184618
Abstract Info
Semantic world is the new era for the development of the web present years. There are many predictible works and projects on semantic web development. One of the ways to improve semantic web view on the web is the adoption of the web portals into todays semantic web techniques.
Semantic Web Portals are a new development invention on the web and improving on business and academic web portals. This work is about the semantic web portal platform and ontology management on web portals. It gives a brilliant way to construct a web portal platform for the semantic web issues and the basic architecture for the SW(Semantic Web) portals.
Introduction
The basic idea for the platform is the application framework. Application frameworks are the premade code for a specific solution and a packaged code library. At the semantic web world, especially for semantic web portals, there are some library and code packages but there is no application frameworks for domain-specific applications. This work belongs to the semantic web portals and have a goal to develop a platform, framework for the semantic web portal development.
ODESew Application Framework
ODESew is the application framework that the builders are using at this paper. It has an Intranet and Extranet knowledge portal generation mechanism.Although, these two mechanisms have a slightly difference. Intranet Portals have users and only these users are making the sharing and managing of the knowledge at the portal. Extranet Portals have a system that everyone that can connect to the portal can use the portal for their goals.
The basic ODESew framework have several issues that it can handle. Visualisation by hierarchical concept trees, instance lists, instance attribute, relation visualisation and edition functions on visualisation are some other attributes that framework can handle with. Also framework have a ontology tool, WebODE, for managing RDF, DAML+OIL and RDF Schema Ontologies.
The view model have disadvantages to the framework like the low setup and maintenance effort. Although, instead of making a semantic portal with SW technologies, the paper deal with the SW applications deveoped on the platform. The view model can allow the creation of personalized views and a view model with the composition model.Architecture
The architecture of framework depends on the MVC (Model-View-Controller) design model. Design Model is a model that shows how the architecture and development of a application to a specific problem. There are many design paterns in Software Engineering and Extreme Programming issues but the paper is not the place where the writers mention about them. Further information about patterns can be found at this blog.
The basic idea of pattern is to divide the paradigmy into three steps. The view, the model and the controller. This framework has the same architecture and have a view controller, model controller and overall controller.
If we can say something about these steps, it's better to give the direct information from the paper;
*A model represents business data and business logic oroperations that govern access and modification of this business data. The model notifies views when it changes and provides
the ability for the view to query the model about its state. It also provides the ability for the controller to access application functionality encapsulated by the model.
* A view renders the contents of a model. It accesses data from the model and specifies how that data should be presented. It updates data presentation when the model changes. A view
also forwards user input to a controller.
*A controller defines application behavior. It dispatches user requests (button clicks, menu selections, form input texts, etc.), also known as user gestures or actions, and selects views for
presentation. It interprets user inputs and maps them into actions to be performed by the model. In a Web application, they are HTTP GET and POST requests to the Web tier. A
controller selects the next view to display based on the user interactions and the outcome of the model operations.
Data Model
The data model consist of two other components. Domain Model and User Model
Domain Model : Domain Model is consist of ontologies related to the domains that the SW Portals will be used for. The ontologies are given by the WebODE, the ontology managing tool of the ODESew. WebODE can retrieve the ontologies that have connection to the using domain from distributed sources.
User Model: User Model contains profiles and kept them at the ontologies related to the user profiles. User's authentication information and permissions are stored and also roles that the user have in organizations are kept in ontologies.
Data Model Manager: Data Model Manager is a tool that controls the domain and user model for the access of users. In coordination with the permission layer.
Permission Layer : Filtering all the requests from the Data Model Manager in order to ontologies of the users permissions at the domain model.
Views
The core of the framework, handling the requests from the user and filtering it and getting it to data layer, retrieve the return the retrieved information from the data layer and shows the user. All cycle is handled by the controller. The framework has two seperate parts for the controlling mechanism.
1)Navigation Model
Navigation Model deploy the navigation in the portal and model it. It uses directed named graph and nodes represents to views and edges represent actions the user did using surfing at portal.
Nodes : have precondition and view URL properties.
Edges : Moving the user from one node to another. Have different names due to actions and supports generalisation actions like "subclass of" properties.
2)The Composition Model
The big scales version of the navigation model in the portal.
Controller Execution
Have to type of control; Task and Flow Control
Task shows what to do while an action have been made and the flow control plans the future actions after each task.
Tasks for the portal are View, Remove instance, Edit instance, Search, Router abd Login Tasks. Flow Controls are Forward, Redirect, Include and Empty.
If a user takes an action and a view activated the order of tasks are,
*Identfy the view and find at navigation model.
*Find the action at the source view.
*Get all views from the source view and takes one view randomly to execute.
*Controller controls the preconditions of the selected view.
If the view's specialisations are valid
*Find the specialisations of the selected target.Control the preconditions of the selected view's childrens.
If the children view's specialisation are valid
*Make this control to all children views
UNTIL Children view do not have more specialisation
OR none of the preconditions of its specialisations are satisfied.
*The last visited view is the final target view
Conclusions
There are also more at the paper but i dont think these issues are necessary for a middle-teached semantic web developer. At the second part of the article, External Information Gateway and its architecture is mentioned. EIG is an extention the the basic model of the ODESew and it gives the information retrival from the other resources of the internet baseline. At the third part, the implementation of the ODESew at the European R&D projects.
As a conclusion, ODESew implementation is another different architecture of the semantic web world but gives an definitive way to implement a semantic web portal. Also it gives a right power from the WebODE for the ontology management. For me, i like the implementation of the web sites control mechanism at the portal and gonna keep searching and developing to do that with the Oracle DB. Oracle Spatial has the ability to get the triples now and gonna be the next architectural ontology controller in the SW issues. So, the portals developed by the SW technologies are growing day by day and we are catching this trend a bit from the tail.
13/09/2006
Sementic Web Introduction
This is my first thread about Semantic Web and issues around this work.
Lets start with a publication at first to know what semantic web means.
http://www.ryerson.ca/~dgrimsha/courses/cps720_02/resources/Scientific%20American%20The%20Semantic%20Web.htm