Details
Kingsley Uyi Idehen
Lexington, United States
Subscribe
Post Categories
Recent Articles
Display Settings
Translate
|
Showing posts in all categories Refresh
Where Are All the RDF-based Semantic Web Applications?
In response to the "Semantic Web Technology" application classification scheme espoused by ReadWriteWeb (RWW), emphasized in the post titled: Where are all the RDF-based Semantic Web Apps?, here is my attempt to clarify and reintroduce what OpenLink Software offers (today) in relation to Semantic Web technology.
From the RWW Top-Down category, which I interpret as: technologies that produce RDF from non RDF data sources. Our product portfolio is comprised of the following; Virtuoso Universal Server, OpenLink Data Spaces, OpenLink Ajax Toolkit, and OpenLink Data Explorer (which includes ubiquity commands).
Virtuoso Universal Server functionality summary:
- Generation of RDF Linked Data Views of SQL, XML, and Web Services in general
- Deployment of RDF Linked Data
- "On the Fly" generation of RDF Linked Data from Document Web information resources (i.e. distillation of entities from their containers e.g. Web pages) via Cartridges / Drivers
-
SPARQL query language support
- SPARQL extensions that bring SPARQL closer to SQL e.g Aggregates, Update, Insert, Delete
Named Graph support (i.e. use of logical names to partition RDF data within Virtuoso's multi-model dbms engine)
- Inference Engine (currently in use re. DBpedia via Yago and UMBEL)
- Host and exposes data from Drupal, Wordpress, MediaWiki, phpBB3 as RDF Linked Data via in-built support for PHP runtime
-
Available as an EC2 AMI
- etc..
OpenLink Data Spaces functionality summary:
- Simple mechanism for Linked Data Web enabling yourself by giving you an HTTP based User ID (a de-referencable URI) that is linked to a FOAF based Profile page and OpenID
- Binds all your data sources (blogs, wikis, bookmarks, photos, calendar items etc. ) to your URI so can "Find" things by only remembering your URI
- Makes your profile page and personal URI the focal point of Linked Data Web presence
- Delivers Data Portability (using data access by value or data access by reference) across data silos (e.g. Web 2.0 style social networks)
- Allows you make annotations about anything in your own Data Space(s) on the Web without exposure to RDF markup
- A Briefcase feature that provides a WebDAV driven RDF Linked Data variant of functionality seen in Mac OS X Spotlight and WinFS with the addition of SPARQL compliance
- Automatically generates RDFa in its (X)HTML pages
-
Blog, Wiki, WebDAV File Server, Shared Bookmarks, Calendar, and other applications that look and feel like Web 2.0 counterparts but emitt RDF Linked Data amongst a plethora of data exchange formats
- Available as an EC2 AMI
- etc..
OpenLink Ajax Toolkit functionality summary:
- Provides binding to SQL, RDF, XML, and Web Services via Ajax Database Connectivity Layer (you only need an ODBC, JDBC, OLE-DB, ADO.NET, XMLA Driver, or Web Service on the backend for dynamic data access from Javascript)
- All controls are Ajax Database Connectivity bound (widgets get their data from Ajax Database Connectivity data sources)
- Bundled with Virtuoso and ODS installations.
- etc.
OpenLink Data Explorer functionality summary
- Distills entities associated with information resource style containers (e.g. Web Pages or files) as RDF Linked Data
- Exposes the RDF based Linked Data graph associated with information resources (see the Linked Data behind Web pages)
- Ubiquity commands for invoking the above
- Available as a Hosted Service or Firefox Extension
- Bundled with Virtuoso and ODS installations
- etc.
Note:
Of course you could have simply looked up OpenLink Software's FOAF based Profile page (*note the Linked Data Explorer tab*), or simply passed the FOAF profile page URL to a Linked Data aware client application such as: OpenLink Data Explorer, Zitgist Data Viewer, Marbles, and Tabulator, and obtained information. Remember, OpenLink Software is an Entity of Type: foaf:Organization, on the burgeoning Linked Data Web :-)
Related
|
10/01/2008 19:09 GMT
|
Modified:
10/02/2008 15:27 GMT
|
Response to: Whole Data Post (Update 3)
This post is in response to Glenn McDonald's post titled: Whole Data, where he highlights a number of issues relating to "Semantic Web" marketing communications and overall messaging, from his perspective.
By coincidence, Glenn and I presented at this month's Cambridge Semantic Web Gathering.
I've provided a dump of Glenn's issues and my responses below:
Issue - RDF
- Ingenious data decomposition idea, but:
- too low-level; the assembly language of data, where we need Java or Ruby
- "resource" is not the issue; there's no such thing as "metadata", it's all data; "meta" is a perspective
- lists need to be effortless, not painful and obscure
- nodes need to be represented, not just implied; they need types and literals in a more pervasive, integrated way.
Response:
RDF is a Graph based Data Model it stands for Resource Description Framework. The Metadata data angle comes from it's Meta Content Framework (MCF) origins. You can express and serialize data based on the RDF Data Model using: Turtle, N3, TriX, N-Triples, and RDF/XML.
Issue - SPARQL (and Freebase's MQL)
These are just appeasement: - old query paradigm: fishing in dark water with superstitiously tied lures; only works well in carefully stocked lakes - we don't ask questions by defining answer shapes and then hoping they're dredged up whole.
Response:
SPARQL, MQL, and Entity-SQL are Graph Model oriented Query Languages. Query Languages always accompany Database Engines. SQL is the Relational Model equivalent.
Noble attempt to ground the abstract, but: - URI dereferencing/namespace/open-world issues focus too much technical attention on cross-source cases where the human issues dwarf the technical ones anyway - FOAF query over the people in this room? forget it. - link asymmetry doesn't scale - identity doesn't scale - generating RDF from non-graph sources: more appeasement, right where the win from actually converting could be biggest!
Response:
Innovative use of HTTP to deliver "Data Access by Reference" to the Linked Data Web.
When you have a Data Model, Database Engine, and Query Language, the next thing you need is a Data Access mechanism that provides "Data Access by Reference". ODBC and JDBC (amongst others) provide "Data Access by Reference" via Data Source Names. Linked Data is about the same thing (URIs are Data Source Names) with the following differences:
- Naming is scoped to the entity level rather than container level
- HTTP's use within the data source naming scheme expands the referencability of the Named Entity Descriptions beyond traditional confines such as applications, operating systems, and database engines.
Hugely motivating and powerful idea, worthy of a superhero (Graphius!), but: - giant and global parts are too hard, and starting global makes every problem harder - local projects become unmanageable in global context (Cyc, Freebase data-modeling lists...).
And my thus my plea, again. Forget "semantic" and "web", let's fix the database tech first: - node/arc data-model, path-based exploratory query-model - data-graph applications built easily on top of this common model; building them has to be easy, because if it's hard, they'll be bad - given good database tech, good web data-publishing tech will be trivial! - given good tools for graphs, the problems of uniting them will be only as hard as they have to be.
Response:
Giant Global Graph is just another moniker for a "Web of Linked Data" or "Linked Data Web".
Multi-Model Database technology that meshes the best of the Graph & Relational Models exist. In a nutshell, this is what Virtuoso is all about and it's existed for a very long time :-)
Virtuoso Universal Sever (recap)
Virtuoso is also a Virtual DBMS engine (so you can see Heterogeneous Relational Data via Graph Model Context Lenses). Naturally, it is also a Linked Data Deployment platform (or Linked Data Sever).
The issue isn't the "Semantic Web" moniker per se., it's about how Linked Data (foundation layer of Semantic Web) gets introduced to users. As I said during the MIT Gathering: "The Web is experienced via Web Browsers primarily, so any enhancement to the Web must be exposed via traditional Web Browsers", which is why we've opted to simply add "View Linked Data Sources" to the existing set of common Browser options that includes:
- View page in rendered form (default)
- View page source (i.e., how you see the markup behind the page)
By exposing the Linked Data Web option as described above, you enable the Web user to knowingly transition from the traditional Rendered (X)HTML page view to the Linked Data View (i.e., structured data behind the page). This simple "User Interaction" tweak makes the notion of exploiting a Structured Web becomes somewhat clearer.
The Linked Data Web isn't a panacea. It's just an addition to the existing Web that enrichens the things you can do with the Web. It's predominance, like any application feature, will be subject to the degrees to which it delivers tangible value or matrializes internal and external opportunity costs.
Note: The Web isn't ubiquitous today becuase all it's users groked HTML Markup. It's ubquitity is a function of opportunity costs: there simply came a point in the Web boostrap when nobody could afford the opportunity costs associated with being off the Web. The same thing will play out with Linked Data and the broader Semantic Web vision.
Links:
-
Linked Data Journey part of my Linked Data Planet Presentation Remix(from slides 15 to 22 - which include bits from TimBL's presentation)
-
OpenLink Data Explorer
-
OpenLink Data Explorer Screenshots and examples.
|
08/15/2008 13:06 GMT
|
Modified:
08/15/2008 19:11 GMT
|
Virtuoso's Universal Server Architecture (Conceptual & Technical)
As they say, a picture speaks a thousand words, so I am exposing two views of Virtuoso that have been on the Web for while.
Remember, Virtuoso offers data management, data access, web application server, enterprise service bus, and virtualization of disparate and heterogeneous data sources, as part of a single, multi threaded, cross-platform server solution; hence it's description as a " Universal Server".
Conceptual View:
Technical View (kinda missing PHP, Perl, Python runtime hosting in the Virtual Application Sever realm):
Virtuoso's architecture is not a reaction to current trends. The diagrams above are pretty old (with minor touch ups in recent times). At OpenLink Software, we've have a consistent world-view re. standards and the vital role they play when it comes to developing software that enables the construction and exploitation of " Context Lenses" that tap into a substrate of Virtualized Logical Data Sources ( SQL, XML, RDF, Web Services, Full Text etc.).
|
08/03/2008 13:07 GMT
|
Modified:
08/05/2008 18:27 GMT
|
Linked Data Illustrated and a Virtuoso Functionality Reminder
Daniel Lewis has put together a nice collection of Linked Data related posts that illustrate the fundamentals of the Linked Data Web and the vital role that Virtuoso plays as a deployment platform.
Remember, Virtuoso was architected in 1998 (see Virtuoso History) in anticipation of the eventual Internet, Intranet, and Extranet level requirements for a different kind of Server. At the time of Virtuoso's inception, many thought our desire to build a multi-protocol, multi-model, and multi-purpose, virtual and native data server was sheer craziness, but we pressed on (courtesy of our vision and technical capabilities).
Today, we have a very sophisticated Universal Server Platform (in Open Source and Commercial forms) that is naturally equipped to do the following via very simple interfaces:
- Provide highly scalable RDF Data Management via a Quad Store (DBpedia is an example of a live demonstration)
- Powerful WebDAV innovations that simplify read-write mode interaction with Linked Data
|
04/28/2008 17:32 GMT
|
Modified:
12/25/2008 08:01 GMT
|
OpenLink Ajax Toolkit (OAT) 2.6 Released!
OpenLink Software are pleased to announce release 2.6 of the OpenLink AJAX
Toolkit (OAT).
New Semantic Data Web related features and enhancements include:
* A Javascript-based Fresnel processor enabling declarative RDF-based display templates for RDF Data Sources
* An XSLT template for generating HTML pages from the Fresnel processor's
XML output
* Enhanced Javascript-based N3/Turtle parser
Related Items:
|
08/01/2007 18:34 GMT
|
Modified:
08/01/2007 14:49 GMT
|
Personal URIs & Data Spaces
Linking personal posted content across communities: "
With the help of Kingsley, Uldis and I have been looking at how SIOC can be used to link the content that a single person posts to a number of community sites. The picture below shows an example of stuff that I’ve created on Flickr, YouTube, etc. through my various user identities on those sites (these match some SIOC types that we want to add to a separate module). We can also say that each Web 2.0 content item is a user-contributed post, with some attached or embedded content (e.g. a file or maybe just some metadata). This is part of a new discussion on the sioc-dev mailing list, and we’d value your contributions.
Edit: The inner layer is a person (semantically described in FOAF), the next layer is their user accounts (described in FOAF, SIOC) and the outer layer is the posted content - text, files, associated metadata - on community sites (again described using SIOC).
No Tags"
(Via John Breslin - Cloudlands.)
The point that John is making about the Data Web and Interlinked Data Spaces exposed via URIs (e.g Personal URIs), crystallizes a number of very important issues about the Data Web that may remain unclear. I am hoping that by digesting the post excerpt above, in conjunction with the items below, aids the pursuit of clarity and comprehension about the all important Data Web (Semantic Web - Layer 1):
-
Your OpenID can be Your Personal URI (as noted by Henry Story's post about: The Many Uses of OpenID). That that's what I have courtesy of OpenLink Data Spaces (ODS)
- The above only works unobtrusively (i.e. OpenID and Personal sharing a URI) if Content Negotiation is exploited on the Client and Server sides.
-
TimBL's call out to Share Your Data and Link to Other Data via URIs via post titled: Give Yourself a URI.
-
W3C's Best Practice Recipes for Publishing RDF Vocabularies
-
W3C's Architecture of the World Wide Web - Vol 1 which covers URI Dereferencing (HTTP GET-ing the data that a URI points to)
-
Richard Cyganiak's post titled: Debugging Semantic Web Sites with Curl.
Examples of some of these principles in practice:
- Chris Bizer, Tobias Gaub, and Richard's Javascript based Semantic Web Client Library
-
DISCO RDF Browser
-
OpenLink Ajax Toolkit's (OAT) RDF Browser
- OpenLink Interactive SPARQL Query by Example (iSPARQL QBE)
- Dynamic Data Web Pages from my prior posts [1][2][3]
-
dbpedia (Wikipedia as a Data Web oriented Data Source)
- And of course this blog post's permalink is a bona fide dereferencable URI.
-
Soren Auer's RDF Browser
And of course there is more to come such as Grandma's Semantic Web Browser which is coming from Zitgist LLC (pronounced: Zeitgeist) a joint venture of OpenLink Software and Frederick Giasson.
|
03/01/2007 19:42 GMT
|
Modified:
05/27/2007 01:33 GMT
|
Birds of a Feather Flock Together - Mac OS X & Rails
A very cool video promo for Ruby on Rails and Mac OS X, or should I say: 37 Signals & Apple :-) Either way, very cool!
BTW - We have just released a collection of High-Performance Data Providers for ActiveRecord. Our providers deliver
Consistent Functionality to RoR developers across Virtuoso, Oracle, SQL Server, Sybase, DB2, Ingres, Informix, and others without compromising performance or cross platform portability.
|
10/21/2006 00:55 GMT
|
Modified:
05/28/2007 16:19 GMT
|
Birds of a Feather Flock Together - Mac OS X & Rails
A very cool video promo for Ruby on Rails and Mac OS X, or should I say: 37 Signals & Apple :-) Either way, very cool!
BTW - We have just released a collection of High-Performance Data Providers for ActiveRecord. Our providers deliver
Consistent Functionality to RoR developers across Virtuoso, Oracle, SQL Server, Sybase, DB2, Ingres, Informix, and others without compromising performance or cross platform portability.
|
10/21/2006 00:55 GMT
|
Modified:
05/28/2007 16:19 GMT
|
Data Spaces and Web of Databases
Note: An updated version of a previously unpublished blog post:
Continuing from our recent Podcast conversation, Jon Udell sheds further insight into the essence of our conversation via a “Strategic Developer” column article titled: Accessing the web of databases. Below, I present an initial dump of a DataSpace FAQ below that hopefully sheds light on the DataSpace vision espoused during my podcast conversation with Jon. What is a DataSpace? A moniker for Web-accessible atomic containers that manage and expose Data, Information, Services, Processes, and Knowledge. What would you typically find in a Data Space? Examples include: - Raw Data - SQL, HTML, XML (raw), XHTML, RDF etc.
- Information (Data In Context) - XHTML (various microformats), Blog Posts (in RSS, Atom, RSS-RDF formats), Subscription Lists (OPML, OCS, etc), Social Networks (FOAF, XFN etc.), and many other forms of applied XML.
- Web Services (Application/Service Logic) - REST or SOAP based invocation of application logic for context sensitive and controlled data access and manipulation.
- Persisted Knowledge - Information in actionable context that is also available in transient or persistent forms expressed using a Graph Data Model. A modern knowledgebase would more than likely have RDF as its Data Language, RDFS as its Schema Language, and OWL as its Domain Definition (Ontology) Language. Actual Domain, Schema, and Instance Data would be serialized using formats such as RDF-XML, N3, Turtle etc).
How do Data Spaces and Databases differ? Data Spaces are fundamentally problem-domain-specific database applications. They offer functionality that you would instinctively expect of a database (e.g. AICD data management) with the additonal benefit of being data model and query language agnostic. Data Spaces are for the most part DBMS Engine and Data Access Middleware hybrids in the sense that ownership and control of data is inherently loosely-coupled. How do Data Spaces and Content Management Systems differ? Data Spaces are inherently more flexible, they support multiple data models and data representation formats. Content management systems do not possess the same degree of data model and data representation dexterity. How do Data Spaces and Knowledgebases differ? A Data Space cannot dictate the perception of its content. For instance, what I may consider as knowledge relative to my Data Space may not be the case to a remote client that interacts with it from a distance, Thus, defining my Data Space as Knowledgebase, purely, introduces constraints that reduce its broader effectiveness to third party clients (applications, services, users etc..). A Knowledgebase is based on a Graph Data Model resulting in significant impedance for clients that are built around alternative models. To reiterate, Data Spaces support multiple data models. What Architectural Components make up a Data Space? - ORDBMS Engine - for Data Modeling agility (via complex purpose specific data types and data access methods), Data Atomicity, Data Concurrency, Transaction Isolation, and Durability (aka ACID).
- Virtual Database Engine - for creating a single view of, and access point to, heterogeneous SQL, XML, Free Text, and other data. This is all about Virtualization at the Data Access Level.
- Web Services Platform - enabling controlled access and manipulation (via application, service, or protocol logic) of Virtualized or Disparate Data. This layer handles the decoupling of functionality from monolithic wholes for function specific invocation via Web Services using either the SOAP or REST approach.
Where do Data Spaces fit into the Web's rapid evolution? They are an essential part of the burgeoning Data Web / Semantic Web. In short, they will take us from data “Mash-ups” (combining web accessible data that exists without integration and repurposing in mind) to “Mesh-ups” (combining web accessible data that exists with integration and repurposing in mind). Where can I see a DataSpace along the lines described, in action? Just look at my blog, and take the journey as follows: What about other Data Spaces? There are several and I will attempt to categorize along the lines of query method available: Type 1 (Free Text Search over HTTP): Google, MSN, Yahoo!, Amazon, eBay, and most Web 2.0 plays . Type 2 (Free Text Search and XQuery/XPath over HTTP) A few blogs and Wikis (Jon Udell's and a few others) Type 3 (RDF Data Sets and SPARQL Queryable): Type 4 (Generic Free Text Search, OpenSearch, GData, XQuery/XPath, and SPARQL): Points of Semantic Web presence such as the Data Spaces at: What About Data Space aware tools? - OpenLink Ajax Toolkit - provides Javascript Control level binding to Query Services such as XMLA for SQL, GData for Free Text, OpenSearch for Free Text, SPARQL for RDF, in addition to service specific Web Services (Web 2.0 hosted solutions that expose service specific APIs)
- Semantic Radar - a Firefox Extension
- PingTheSemantic - the Semantic Webs equivalent of Web 2.0's weblogs.com
- PiggyBank - a Firefox Extension
|
08/28/2006 20:38 GMT
|
Modified:
05/28/2007 15:39 GMT
|
|
|