W3C logo
Berners-Lee
Tabulator and linked data project review - Tabulator demo
Tabulator: AJAX Generic RDF browser
Tabulator people
Tim Berners-Lee
The Tabulator was Tim's idea and he coded up the original version at
odd times in November and December 2005. See Links on the Semantic
Web from Dec 2005
Undergraduate Research Opportunity Program (UROP) over June-August
2006:
Yushin Chen
"Joyce" wrote the calendar views, and incorporated the Simle
timeline.
mugshot
Lydia Chilton
Lydia is working on statistical analysis, charts, etc.
mugshot
Ruth worked on the Tabulator in January 2006, adding the asynchronous
fetching of documents during queries, etc.
Adam Lerer
Adam works on the back-end -- the query system, and generic stuff
around the query UI. He implemented SPARQL protocol as a internal layer and
as an external protocol.
mugshot
Jim Hollenbach
Jim is responsible for the map view. He also worked on the framework
for multiple queries per view.
mugshot
David Sheets
David wrote the RDF parser, and does a lot of architecture and release
engineering. He also installed the bug tracker.
mugshot
Thanks also to Dan Connolly and Rlph Swick for co-supervising students
and for ideas, support, testing and encouragement
Interesting things
- Generic, not app-specific browser
- Avoiding rdf, URIs and RDF jargon in your face
- Not using circles and arrows, which take up too much space
- AJAX to be developer-hackable
- Looks up data on web, follows links: Linked Data
- Outline mode (for a web?)
- Query by example -> table
- Lenses and views (to come)
Features
- Does GRDDL and link rel=meta on xHTML pages
- RDF/XML parser (not complete), no N3 yet
- Smush on owl:sameAs, [inverse]FunctionalProperty
- Display with subproperties of rdfs:label
- Load all ontologies (recursively)
- Load data on browse in outline view
- Load data as query binds new URIs
- Provenance: click on any fact -> highlight source in list
- Provenance: double-click on source -> look at source meta inc.
Practicalities
- Firefox only as we only use firefox, research project.
- Must set the codebase principals support (see tabulator help)
- Charles McCN made an opera widget
- SVN trunk much improved after the summer of 2006
- HTTP 303 handling not standard in WebAPI XMLHTTPRequest() but managed in Tabulator
Multi-query Views
- Table view (only one query at a time)
- Google map (lat, long) (multiple)
- Calendar (datetime) (multiple)
- Simile timeline (datetime) (multiple)
- User-added views
Linked data
- Use URIs as names for things
- Use HTTP URIs so that people can look up
those names.
- When someone looks up a URI, provide useful
information.
- Include links to other URIs. so that they can discover
more things.
- Ideally: all links out and in
- Reasonable size of data returned
- Not knowledge bases in zip/tar files!
- Link: The use in document d of URI which is in document d'
AJAR Library
- Fully tested RDF/XML parser
- Indexed triple store
- Asynchronous query engine
- SPARQL client and server (limited)
- Smushes identical nodes (owl:sameAs, owl:InverseFunctionalProperty, owl:FunctionalProperty)
- Looks up data
- Tracks history if HTTP results
Lookup Algorithm
Conventions - should the whole set be a standard?
- What to look up?
- document from URI (up to #)
- link rel=meta
- rdfs:seeAlso links
- Follows 303 redirection
- Content-type is definitive
- Text/plain: Guess with a warning
- application/rdf+xml Parse as RDF/XML
- text/n3+xml Parse as N3 (*not imp.)
- text/html
- link rel=meta in HTML
- GRDDL profile
- RDF/a ??
- *+xml*:
What to do about large number of links
- Pointer to document for each predicate?
- Pointer to SPARQL endpoint?
- How to describe what a SPARQL service can answer?
Tabulator-friendly data
linked data plus:
- Use rdf:label to label things
- Declare usable name properties to be subproperties of rdfs:label
- Predicate labels are role nouns e.g. 'parent'
- For predicates, also label unnamed inverse predicate, e.g. 'child' to void 'is parent of'
- Not 'has parent' or 'is parent of'
- Lower case for predicate labels is fine, tabulator can uppercase where needed
- Inverse Function Properties (IFPs) of external items, e.g. homepage, email, etc
for merging with other sources
Examples of linked data
- Most ontologies
- dbview-generated from SQL virtual RDF data
- New: D2R Server provides linked data as well as SPARQL
- FOAF (home brew, LiveJournal, Opera Community etc)
- Semantic wikipedia
- Place-names ... etc
- The biggest challenge is links to other systems
Tabulator: generic data browser
tabulating
Starting only with a URI
Tabulating around W3C -
tabulating
Tabulating around W3C -
tabulating
Tabulating around W3C -
tabulating
Tabulating around W3C - Crossing the application boundary
tabulating
Tabulating around W3C -
tabulating
Tabulating around W3C -
tabulating
Tabulating around W3C - This is not a tree
tabulating
Tabulating around W3C - Query by example
tabulating
Tabulating around W3C - Graph to table
tabulating
Random links
Tabulator demo (Firefox, See help.):
Tabulator view links: