The Web 3.0's Pulse : Semantic Web Trends

Currently Hot: Facebook OpenGraph Protocol

Saturday, August 14, 2010

Jena Tutorials

The HP's Jena Framework has become very popular lately in the Semantic Web development world . I started to notice that many of this blog's visitors came here looking for sample code about it. This is why I thought that I could help them out by providing few links where tutorials can be found.

I have noticed that many of the visitors come here seeking some tutorial or getting-started code samples about Jena , besides the code placed in its documentation. Therefore, I decided to look around the Internet and see if I can find some people who already spent some time writing tutorials about Jena . Fortunately, I found some code, which, in my opinion, could very useful if you happen to be someone starting off writing Semantic Web applications. So, here is a small list of links where Jena tutorials can be found:
I agree though, that some of those tutorials may be a few years old, but, in fact, they might serve you well in seeing some kick-off code where the Jena documentation lacks it. For example, in one of those tutorials, I saw a  working set of Jena rules - whereas its documentation was not rich on code about it. 
In case you are wondering what Jena is (which I doubt), I wrote an article describing this Semantic Web Framework a couple of months ago. 

Dear readers, have you ever worked with Jena? What is your personal experience about this framework? Would you favor some other Semantic Web framework instead? Why or why not?

Friday, August 6, 2010

Facebook Questions - Another Search Frontline

Facebook is testing the new Questions  feature - a search engine that finds relevant people to answer other people's questions. Interesting, the word "relevant" here plays great role - Facebook must be pulling data and make conclusions based on that data. "Where from ?" - One may ask. Well, the countless "like"s people do, provide that data, which is now semantically annotated. But behind the scenes, this application concerns several rivals, including Google and Twitter.

The People Search Engine

There are trials to revolutionize the way people search the today. In a world, dominated by authoritative, fast and amazingly complex algorithm for textual search, it seems there is not much to be improved. And for now, people are happy - they just type in what they are interested in, and Google (by saying Google, I also count Yahoo!, Bing and others in)  and: BANG! - it appears in the first 4 results displayed. Although today's search engines subtly show their power by answering well even if the user misspells the word or moreover, categorizing it like Posts, Tweets, Images etc. Google nowadays is even faster in updating its search index, reaching the Real Time Web Informer status.


But however, there are situations in which textual searching can't do much help. Queries like: "Hey Google, what are the songs that have reached No. 1 in UK's Chart in the last 10 years ?" or ... "Bing buddy, I am looking for a movie tonight. Basically I want comedies, like 'American Pie' or 'Dumb and Dumber', do you happen to have some recommendations for me?" etc. etc. (Examples for such situations can be quite a few, I will not go any further). Well, some of these queries might have to wait for the Semantic Search Engine to be built, but the interesting thing is there is a new trend : to build Social (People) Engines, which will not scan text, but people and their habits. These People Engines will try to discover the right person to answer human-only interpretable questions like those above. But to achieve that, these search engines need to have additional metadata about each person : her skills, interests, friends etc. Having that in mind, one can easily conclude that  building such network can be a challenging and expensive task to do - unless... unless it is built by itself - like in the example of Facebook. Facebook is lucky for having so connected network with correctly filled information such as people's names, age, photos, interests, friends etc. In my opinion, Facebook is now preparing to take advantage of that metadata it has: to build internal network for answering questions - people will answer each other's questions on any topic - Facebook will only be the platform to find the "relevant" people to answer them.


Facebook Questions Application


This application is exactly that: means for people to use "Social Search" instead of "Textual Search". A smart move, I say, because engaging real  people in answering topic-specific questions (for free!) is the currently best way to get around the technological gap that prevents us from building software agents to answer the questions for us. Whoever came with the idea of building this application, must have studied people behavior and conclude that people would react on such questions, if they feel they are concerned on some point with the topic of the question - be it their profession or simply a good or bad experience of some product. We will still need to wait to see how this invention of Facebook will impact the Tweetosphere and the ordinary search.

Google's Social Search Engine Efforts


Surprise, surprise, but Facebook did not invent this whole People-answering-questions thing. Google has been spending time on this field quite a while, resulting in an experimental application in Google Labs, which returns 20 % of the results from your Google queries as answers based on your social graph within Google and in inquiry of Aardvark (the closest relative of Facebook Questions app). Aardvark gathers each person's interests they type in and parses the question text, matches entities with people's interests and finds people that might be able to answer the questions. I have been looking into this application for a while and indeed it has proven itself to be very useful: most of the times it did find a person to be able to answer my question and ... what I really like about is that it integrates with the IMs : be it MSN Messenger, GTalk or Skype ... Pretty cool.
Therefore, I think that these kind of engines do have bright future, no matter what vendor creates them.

Readers, what do you think ? Would you use some of these services as your secondary search engines ? Do you think they will one day integrate with the textual search engines ?

Wednesday, July 21, 2010

Facebook Open Graph and Semantic Web Presentation

Here is a thorough and illustrative presentation about  Facebook's Open Graph and it's possible future directions. Presentation's author Matteo Brunati comes to similar conclusions about building an advertising network around the social graph. Have a look by yourself.



Monday, July 19, 2010

Google Acquires Metaweb (Freebase)

Google decides to act quickly and openly step into semantic technology - it acquires Metaweb , the owner of  Freebase , the open knowledgebase. Having this in consideration, it is evident that they are striking back Facebook and their OpenGraph API .It seems like the clash of the web titans has begun...

The Empire Strikes Back

Google has been ignoring Semantic Web long enough. They probably didn't take competition seriously and they didn't feel like their throne on the Web is endangered. But Google could not ignore Semantics any more. Algorithms must be changed. The system evolves, and if they do not want to perform the change, others gladly will. Shortly after Facebook presented their OpenGraph API and their new social bookmarking approach which allows them to build semantically annotated profiles of each of us, Google decides to grab Freebase under its hood. I have been studying Freebase before and according to my opinion, it has the potential of being one of the few data hubs that in future will serve for interconnection of heterogeneous systems. For example, if  two systems refer to same objects, but they describe them differently, by connecting their entities to a single entity on Freebase, the Web will be aware that those two entities are in fact the same, despite their different description. Freebase and DbPedia promise to be the new convention of describing resources in the Web. Googlers are smart, now they will play major role within linking data around the Web - ensuring their importance in this new field.




But will Google utilize this acquiring for search enhancements ? Will they make substantial changes to their keyword search-based tool ? Do Googlers feel threatened ? We are not sure yet.

One thing is for certain. Since large companies start to adopt Semantic Web technologies... it is evident that soon it will become the mainstream. The Semantic Web has waited long enough...

Thursday, July 8, 2010

Facebook Tagging - Semantic Photo Annotation for Free

What is behind the photo tagging feature on Facebook? This seemingly meaningless feature, now allows Facebook to gain digital knowledge of how each person looks, even if the user herself hasn't uploaded a photo of herself yet. But what this feature also means, is that ordinary people around the world, spend their free time to uploading photos, tagging their friends in various positions and occassions. Do you know what this means ? That resources (photos) on Facebook are being annotated manually with high accuracy for free! It seems like we are not far from our digital avatars, after all...

Hidden Semantics in Photos

Many people love the Facebook photo tagging feature : the user basically uploads a photo, tags her friends on the photo and they get pleasant notification that they have been tagged on a certain photo and everyone is happy. But what most people are not aware of, is that by adding tags to photos, they provide Facbook with ground to apply facial recognition algorithms and even more: the hard and manual job of annotating resources with their semantic meaning with at least 95% proven accuracy! Many cannot even recognize it: every time you tag someone on a photo, you basically tell Facebook, the following information:

On the resource [X], the resource [Y] is located on the resource [Z] , 
where [X] is of type Photo, [Y] is of type Person , [Z] is of type Coordinate.
[Y] and [Me] are friends. 
OPTIONAL: [X] is published on the resource [P] , where [P] is a page,
which is in turn relevant to resources [P1,P2...Pn] where [P1] is [SportsTeam].
[Y] likes the resource [P].

Pretty much metadata in a simple tag isn't it ? A semantic software agent (with existent technology) can easily deduce that there is a good chance that you (or the resource [Me]) likes the sports team P1, so why shouldn't it try to suggest you the page P1 ? What if there are other people on the photo that you are not friends with ? Then it is certainly wise to suggest them as your friends since you have been tagged on N photos together, but you are still not friends. This is only a sample of the usage of the semantics embedded within the photos. This system is unique from all aspects. Besides the fact that is free, it is also self -cleaning! What if someone faulty tags to some people? Those people will disagree and remove those tags. Very impressive mechanism, and do not forget it is part of the OpenGraph!

Who still needs to draw photo robots ?

The new exciting new Facebook feature of aiding users while they are trying to tag their friends set off a lot of dust lately. Some users are scared as they now are aware that Facebook recognizes the people in the photo, and will easily gain knowledge on who is on the photo.Imagine how easy is gathering sample set photos for constructing digital profile of each of us:

Give me the photos where [X] is tagged (optional: in the center  of the photo ) :)

Then facial recognition algorithms can be applied and ... ta daam... your face is recognized, along with your real name, surname, who your friends are,  what you like .. interetsting info, don't you think ? Another interesting thing: let's say that you refuse to upload photo of yourself on Facebook. Do you think you can avoid face recognition ? Unfortunately, no, you can't. Your friends will once in a while upload a photo of you and tag you there. So in a good percentage of the photos it will be you and they could draw an image of you even without you uploading a single image of yourself. Oh, and I forgot, a photo where you are tagged is placed as your personal photo by default :) . Creepy feeling  Way to go, Facebook


What do you readers think about Facebook tagging ? Does it really bring extra information to the "Big Face"? Is one's privacy violated in such case ?

Tuesday, July 6, 2010

Google, meet Facebook's OpenGraph Search

With the introduction of the OpenGraph Protocol, Facebook introduces a new concept of searching throughout the Web. Facebook's search works based on what they call "connections" between resources from their OG ontology. Their algorithms are capable of discovering related items to the input query, based on the individual's social neighborhood or perhaps on the frequency of hitting the (now famous) "Like" button. Sounds like a bundle of possibilities, doesn't it ?

FaceRank, the Social Relevance Algorithm

Of course, this is not something Facebook officially announced (it would sound corny, don't you think ?), but the point is, after long 10 years, finally there is a serious candidate to best the PageRank, or at least complement with it. But Google works fine, the whole world searches, people are happy! Why would anyone use Facebook's new lab gadget instead of tested, proven, mature, lightning-fast and precise tool? Well because, there are queries that Google Search simply cannot satisfy! Moreover, their results are based on statistical methods, no people are involved there. What makes Facebook different is the capability to deliver real-time results , fresh and relevant , without deploying complex calculations . If some event is popular, people will rapidly talk about it. Same as with Google, it will be up to the web masters to annotate their web pages with the metadata, but the key differential factor here is that Facebook has the feedback from the users. It can use the number of "Like" hits to give weight to popularity of some particular web page. What if someone puts false metadata? (One of the biggest problems in the Semantic Web, too). In this case, the answer is simple: people will not like it, they will simply ignore it if it is misleading, hence it will be less popular and will have lower positioning. Another advantage from using this approach is that metadata now contains the context of the resource, opening the gates for bringing the conventional Semantic Web Dream . Facebook  is now able to interpret user's query, does she search for related books, movies, sport teams, people... you name it, it finds it... in real time. As written in Times: Google, This Time, Its Personal.

Hey Mark, Recommend Me a Movie, Please

When someone says: "Yeah, the idea of the Semantic Web is great, but if it so wonderful, how come there are no applications to massively leverage it? You say the technology is available for a while.", usually made some point, but I think not anymore. With Facebook's ultimate way of Social Bookmarking, it becomes easily calculable of what users could want, on individual level ! How, you may ask ?
Here is what I am at. (This may be a real idea for semantic application, too). Suppose you want to watch a movie, but you are not really sure what you want to watch... Naturally, you would ask your friends or you would search through the Internet a bit to see where is the movie hype cloud at the moment... (did you realize I said, "at the moment"? Hang on.). Now imagine a widget, that simply communicates the Facebook via OpenGraph API, to check what movies do you like. The widget also supposes that since you like those movies, you have probably watched them, so it makes no sense to suggest them to you again. But how difficult it is, to write a query that says:

"Give me the most popular movies that are related to the comedies I like". We define "related to" as a simple rule: "A movie is related to another if X people that watched the first movie also watched the second. The movie gains ranking in relatedness if at least Y of that people are my friends. The movie gains ranking if there are at least Z pages with more than 50 likes on the Web". 

Hmmm, not so difficult to be written in a query language. For now some of these aspects are not covered in the OpenGraph ontology (I refer to the Movie Genre), but undoubtly, it could easily be added. On the other side, for the application user, it is as simple as logging in to Facebook, and pressing the "Recommend" button. Welcome to the Semantic reality, Neo. Btw, how do you write "My favorite movies" in Google ? :)

But appart from the interesting search ideas the OpenGraph brings, my deepest beliefs are that Facebook's reason number one to introduce this protocol has e-Marketing roots i.e. to deliberately interfere with Google's primary business model - with personalized, perfect ad targeting tool .

What do you think ? Will this Facebook API bring new methods of warfare between the web titans ? Will it provide better searching for end-users ? Will ultimately, data find us ? How will Google eventually respond ? Is this the final gate that needed to be opened, for semantic applications to be massively written ?

Sunday, July 4, 2010

Facebook and the Semantic Web: Weaving the Social or the Advertising Graph?

You probably already heard about the Facebook's new OpenGraph Protocol. It represents a new way of making connections between topics people like around the web, thus embedding metadata within the webpages itself. Why is Facebook doing this ? Does it want (really) to act as a social hub platform for bridging the Semantic Web to reality?



Finally a big player enters the Semantic Web realm. One that is recognizable all over the world. One that people have confidence in. One that promises to be powerful enough, to integrate topics from different webpages and connect them to corresponding people. One that will get rid of the chicken-and-the-egg vicious circle of Semantic annotation and Semantic Applications. One graph to rule them all : Facebook's OpenGraph.

Facebook, the Chicken and the Egg

Facebook apparently is trying to motivate webmasters to start embedding semantics into webpages, similarly to how meta keywords and meta description tags are embedded today for SEO. That would eventually give the desired push and stable ground for Semantic Applications to be finally built. People are already familiar with this way of embedding metadata, thus the motivation for them lies in the fact that Facebook will utilize that metadata whenever someone puts the mouse over the link that describes how a person "likes" something. But what is happening in background ? Is this simplified mapping to Facebook's ontology one step driven by the desire for people to share what they really like around different platforms ?  Does Facebook have hidden intentions in this whole story ?

The Impact on Ordinary Users

Well, what do average users get from the Social Graph ? Of course, they could leverage this new feature in order to spread the word about services/products they prefer or offer, providing additional fuel to marketing in Social Media. From that aspect, users will get even more specific recommendations from friends about things that might interest them. Of course, friends have similar interests and there is a good chance that they will at least be intrigued about what one's friends like. Moreover, "like" web sites that aggregate Facebook page titles and groups have begin to emerge. Some users find this aggregation amusing.

Facebook Flaws in Semantics : Why ?

As it was recently published in a post on Read Write Web , Facebook did leave flaws in embedding semantics in web pages. Some of them are known to Semantic Web enthusiasts from long time ago, such as the ambiguity problem when identifying resources. In terms of the OpenGraph protocol, there is no means to denote that two resources on the Web refer to actually the same thing. Therefore, integration between heterogeneous systems is not easy at all. Secondly, items with same names refer to same things although they point to different terms. This means there is no way to denote that a page is relevant to the car Jaguar, not the animal jaguar. Furthermore, the OpenGraph leaves no way to build relations between resources, assuming that the only relation is : is_relevant_to . This relation applies to web pages and items and items to people, respectively. This conclusion comes since there is no way to embed multiple objects into a single web page.

The Open Advertising Protocol

This is not something that Facebook publicly says, but if one gets into little deeper thinking, becomes obvious. Facebook is not concerned about allowing people brag to the others what they like. The company is concerned about mapping the users' interests in another graph, which I take the freedom to name it Open Advertising Protocol. It refers to a graph that will try to make connections between topics that might interest the user and her social graph, individually and in groups. What this means is the following: Facebook is trying to gain information about the meaning of the things because it needs more precise targeting for its personalized ads! It is fairly simple. Every time a user presses the "Like" button, Facebook gains insight on that user's interests! By having this knowledgebase at hand, Facebook will soon have enough data to improve their Ad targeting algorithm. What is even scarier, even if one does not press the "Like" button, they will be able to map your interests roughly based on your friend's interests! One might think: Fine, then people will eventually stop hitting that button once they realize this. But hold on a second! Facebook was created to fulfill a human need for social interaction, an interaction that was not satisfied by any other media before ! The point is, people are not that inert as one might think! "Like" it or not, the Big Face will be able to find out who we are, who we hang out with, what are we interested in aaaand ... what companies have better chance of selling to us!

What do you think? What is the reason for Facebook to enter this Semantic Web Game ? Why does it leave flaws, although it has both knowledge and infrastructure to make it differently? Does it really want help people share things they like or this is just a preparation for the Perfect Advertising Tool and even bigger profit ?