W3C semweb tools

Semantic Spider

This Chrome Extension enables Chrome to be ready for 'Semantic Web Technology' and become more intelligent and personalized. Architecture of this extension is to store annotated web contents into the Chrome Extension and utilize them for daily web browsing experience. You can install from here.

Semantic Spider is one of sample programs of triplestoreJS library which enables web applications to store Semantic Data into web browsers through HTML5 WebStorage.

Semantic Spider is a research oriented open source project. You can see the source codes from here.

Please note that your any actions and stored personal contents are 'NOT' transferred to external servers.

You can see a paper which was nominated as best paper in International Semantic Web Conference 2014 (ISWC2014).
Uchida, Hitoshi, Ralph Swick, and Andrei Sambra. "The Web Browser Personalization with the Client Side Triplestore." The Semantic Web–ISWC 2014. Springer International Publishing, 2014. 470-485.

What this Chrome Extension wants to achieve

Eliminate silo of current web services

Though our daily life became more productive and communicable with friends and family thanks to diverse convenient web services and SNS, current web system doesn't have enough choice to mashup and utilize personal data which are distributed among services. Thanks to authorization protocol like OAuth, we can securely share private data between services by granting access to private data with service scope. However, if our favorite services don't support it, we can't reuse personal data on other services without migrating/copy-and-pasting manually. In addition, the authorization protocol itself is complicated not only for developers but also site users because normal users can't understand where they are staying at during redirections between OAuth client and server.

Depart from user data centralization on servers

web browser is becoming more functional with not only rendering graphical web page but also Device API, Web Storage, Realtime transfer protocol support. However, we depend on 3rd party servers to use personal data on the web to get the benefit from services and depend on their functionalities to control our data because current web browser itself doesn't have any functionality for us to control personal data. Though Web Storage stores user data into web browser itself, it is for web applications, not for users. We are always tied up with the architecture of current web system that web browser mainly works for web application execution engine.

The web browser is user's personal tool and we should have more control for personal data on the web without depending on 3rd party servers.

Provide more consumer use cases for web developers to use Semantic Web

Everybody understand that Semantic Web and metadata has advanced potentials to make their web services more functional. However, it is used especially for enterprise industry, life science and search engine. General web developers don't feel the benefit to use Semantic Web on their services except for found by crawlers, because there are few use cases and challenges to use Semantic Web for consumer applications. Because it is tough work for web developers to integrate metadata into their sites, we require more use cases for consumer application area which apply Semantic Web. The effort and challenge would be a promising bridge between HTML5 developers and Semantic Web ones.

Functionalities

Auto-Save annotated contents

Fig1. Architecture of SAVE function

Any web contents annotated with W3C Semantic Web can be stored into your Chrome automatically/manually and your Chrome works with your stored personal web contents. If your stored web contents have something relationship with each other, then they starts to be inter-linked automatically and organize item groups in your Chrome.

If a subject and the properties are already stored and now you store additional new properties which are found in other web sites, the additional properties are added to the subject as additional properties. Therefore, your database of semantic information will grow up based on your daily web browsing, and this Chrome Extension can provide more customized behavior for you.

Auto-save function works like below

This Chrome Extension becomes understandable your interest with your personal stored contents.

Search stored contents

Fig2. Screenshot of SEARCH function

You can search the stored contents with keyword or content type.

The content type is standardized URI or term defined in schema.org or Friend-of-a-Friend ... like Person, Product, Organization, Article and so on. Becuse almost web contents are already annotated with the content type, users can easily filter personal stored contents.

Suggest related items

Fig3. Screenshot of suggestion of similar products

When you visit web sites and the sites have any relationships with your personal stored contents, then related information are suggested on UI and you could discover relationships and knowledge you didn't realize so far.

Simple use case is a personal wishlist among online stores without disclosing user's interest to online retail stores. For example, let's assume that you would like to buy a Apple product in somewhere online stores. If you find out favorite products on Bestbuy.com and store it into this Extension, when you visit Apple online store, this Extension shows the Apple product stored in Bestbuy.com during you stay at Apple store without disclosing your wishlist for Apple products to both Bestbuy.com and Apple store because this Extension already knows your stored favorite product on Bestbuy.com. You can compare the spec and price on any retail stores you visit if you stored favorite products on somewhere sites.

Fig4. Architecture of suggest function

Traditional way to share personal wishlist among different services was to use OAuth. However, to combine and mashup user data on the services, users needed to disclose personal data to 3rd party, and if those services don't support such authorization protocols, users can't mashup and utilize their peronal data.

User got the benefit from services by disclosing their privacy.

Fig5. Architecture of user data sharing with OAuth

This Extension calculates the similarity and detects related stored contents with inference algorithms. Additional algorithms will be researched and integrated to improve the accuracy.

Assist media sharing

Fig6. Architecture of media sharing

This Chrome Extension assists you to share personal data like photo/video with your friends and support users' SNS activities by utilizing stored contact information.

For examples, when you want to send photos stored in Picasa to new friend whose contact list isn't registered yet to Gmail, if you visited his homepage or SNS page including his contact information as metadata and stored into this Extension beforehand, this Extension works like contact list manager without depending on and disclosing the private information to Gmail.

Suggest search keywords

When you are inputting a search keyword into the browser's search box or text fields in web sites, this extension suggests candidates from stored semantic data. Though general search services also suggest frequent used keywords or your prior input histories, keyword suggestion of this extension is independent of any 3rd party services and derived from your personal semantic data representing your concrete interests which latest services are trying to collect.

In browser's search box, this keyword suggestion function is triggered by inputting "spider" with Chrome omnibox feature. After inputting "spider", during you input additional characters, related semantic data are searched and suggested in the browser's search box as candidates.

Fig7. Screenshot of suggestion of search keywords

In text fields of web sites, during you input text, related semantic data are suggested as candidates to assist your input operation. If the text field in the web site is annotated with @itemtype (microdata) or @typeof(RDFa) attribute which constrains the type of items, only keywords of the specified category are suggested in the text field. You can play here.

            <input type="text" title="Search" value=""
                   itemtype="http://schema.org/Event">
          
Fig8. Screenshot of suggestion of search keywords

In case of retail stores, if you visited bestbuy.com and semantic data of your favorite Apple products were stored into the extension, the product names stored at bestbuy.com are suggested in text field of keyword search on Amazon.com.

Fig9. Screenshot of suggestion of search keywords

In another case of photo albums, because the extension supports Google login and stores your several months schedules from Google Calendar as your semantic data, if you would like to find out the locations of your album folders on SkyDrive whose names are based on the schedule titles, the schedule names retrieved from Google Calendar are suggested in a search field on SkyDrive and you can reduce the waste time to find the locations.

Fig10. Screenshot of suggestion of search keywords

Synchronize stored contents among browsers

Fig11. Architecture of synchronize function

You can easily synchronize your favorite contents among your Chrome.

If you would like to copy stored favorite contents into another Chrome, you can indicate which items you would like to synchronize. Synchronization process is executed only when your activity on the browser is idle status. Therefore, it doesn't annoy you at all.

Auto-Remove stored contents

If a stored content has own expiration, they will be removed automatically from local database like cookie or cache.

When a user visits a web site, this Chrome Extension monitors HTTP traffic and find out Expires header in HTTP response. When the annotated content is stored, the expiration information is also stored at the same time. Even if the auto-save option is validated, auto-remove option prevents the increase of stored contents.

Let's try

1st Use Case : Suggestion of related personal schedule

  1. Visit sample of your private calendar
    Screenshot of SemWeb-ready calendar site
  2. Select 'save' from right click menu. In default, auto-save works on only frequent visited sites.
    Screenshot of user interface
  3. Visit related Google+ page of the events
  4. You can see the related event schedule on Google+ page which were stored into your Chrome via Semantic Spider extension without disclosing your private schedule to 3rd party.
    Screenshot of the suggestion of related contents

2nd Use Case : Private wishlist among retail stores

  1. Visit Apple product page on bestbuy.com
    Screenshot of SemWeb-ready site
  2. Select 'save' from right click menu
    Screenshot of user interface
  3. Visit same product page on Apple Store
  4. You can see the same product information stored from bestbuy.com on Apple Store without disclosing your wishlist to Apple. You can compare the price and spec.
    Screenshot of the suggestion of related contents

3rd Use Case : Media sharing using stored FOAF data

  1. Visit my sample profile page which includes my FOAF data.
    Screenshot of SemWeb-ready site
  2. Select 'save' from right click menu.
    In option page of the extension, you can store FOAF data from Google+, Facebook into your Chrome.
    Screenshot of user interface
  3. Visit photo page at Google+
  4. Select 'share' from right click menu on a photo you would like to share with me
    Screenshot of user interface
  5. You can send the selected photo to my Google+ or Facebook or email via blinking links.
    Screenshot of the selection of a person to share with
  6. You can add message with the photo.
    Screenshot of the sharing of selected items

4th Use Case : Suggestion of search keywords

  1. If you tried prior use cases, you have aleady several items whose categories are Event, Product, Person. However, for better demonstration, please store more several types of items into the extension with ...
    • Product : http://www.bestbuy.com
    • Login Google/Facebook and get your FOAF, friend Graph, Event and Album from Spider's option page
  2. Select one category for the search keyword you would like to be suggested from your stored semantic data.


  3. You can see what happens on your Chrome in actual major web sites like,
    • Google+, Gmail, Maps, Drive, Calendar, ...
    • Bing
    • Yahoo
    • Amazon
    • Yelp
    • O'Reilly
    • SkyDrive
    • and more ...

Below major web sites provide semantic data to play with this Chrome extension.

Additional discussions

Cross-origin Web Storage

Current Web Storage works with same origin policy. However, there is a potential discussion to support cross-origin Web Storage based on the demand of web developers in future.

Though traditional XMLHttpRequest basically works with same-origin policy, recently Cross-Origin Resource Sharing was supported based on the demand of web developers and we can make HTTP requests for cross domains.

Finally

I introduced the potential to apply Semantic Web technology to actual web browsers with Semantic Web Chrome Extension named "Semantic Spider".

I have additional ideas to utilize the stored personal contents and plans to upgrade. Any suggestions are always welcome!