Redgraph: Interacting with Networks in Three-Dimensions

Harry Halpin, <hhalpin -(a)- ibiblio.org>

David Zielinski, <djzielin -(a)- duke.edu>

RDF

Duke Visualization Forum, August 2007

Why Networks?

twitter

We have increasingly entered the age of networks, in both technological and social systems

More and more of our data is in networks

The loose structure of networks is resistant to analysis

Random Networks

Renyi and Erdos originally based networks upon the theory that the connections between them were random.

Random Graph

Small Worlds

Discovered by Watts and Stogratz

A node can be reached from others in small steps

Clustering Coefficient and mean-shortest path length

SmallWorld

Power-Laws

Individual Distribution

In Math:

y = cxα

log y = α log(x) + log(c)

The Long Tail and the Giant Component - and it's scale-free

Understanding Networks

a network

Generated in artificial and evolved systems

Can't do normal Gaussian statistics on networks, including means and average

So visualize!

immune net

Different Networks

Resource Description Framework

RDF(Resource Description Framework) is basically just a formal logic for describing a network of links and nodes, where links are called properties that connect subjects and objects:


Using N3, as in:
http://www.ibiblio.org/hhalpin# foaf:knows http://www.w3.org/People/Connolly/#me.

It's semantic because RDF defines a formal semantics that gives the each RDF statements well-defined properties - i.e. it's a data model, not just a syntax.

The Semantic Web

Is a open world and universal space for machine-readable data.

To a computer, then, the web is a flat, boring world devoid of meaning...This is a pity, as in fact documents on the web describe real objects and imaginary concepts, and give particular relationships between them...Adding semantics to the web involves two things: allowing documents which have information in machine-readable forms, and allowing links to be created with relationship values.TimBL, WWW1994

The element of the Semantic Web

arrow tail, body and head are l are subject, property and value.

<#p> foaf:name "PeterS";
<#p> foaf:homepage <http://peter.example.org>.

Note the relationship to HTML links, especially with the re-discovery of the rel attribute.

Use URIs to name relationships

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix rev: <http://www.purl.org/stuff/rev#>.
@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
@prefix xfn: <http://gmpg.org/xfn/11#>.

_:hotel
  vcard:adr [ vcard:locality "Edinburgh" ];
  rev:hasReview [
  rev:rating 5;
  rev:reviewer _:who;
  rdfs:label "Witch's Caldron Hotel, Edinburgh"
 ].

<jane> xfn:friend _:who.

_:who
   foaf:name "PeterS";
   foaf:homepage <http://peter.example.org>.

Data Mash-Up

hotel review query answer diagram

Semantic Web Basics

Semantic web includes tables, trees...

Arrows can make a table, an arrow from each row to each value

Arrows can make a table, an arrow from each row to each value

... and tangly messes

Arrows can make a table, an arrow from each row to each value

Semantic Web Architecture

The Semantic Web is to spreadsheets and databases what the Web of hypertext documents is to word processor files.

 WebSemantic Web
Traditional Designhypertextdatabase, spreadsheet, logic
+URIs
-link consistencyglobal consistency?
=viral growth

XML and Trees

XML (Xtensible Markup Language) is a generalization of HTML that lets anyone name the elements and attributes

XML

Think ASCII for the 21st Century!

Also a tree model (DOM - Document Object Model), which is a handy data structure.

RDF merges naturally

stack stack

Partial Understanding

RDF statements* are independent. RDF semantics are monotonic.

RDFXML
Premise
<Book rdf:ID="book1">
 <dc:title>The Grapes of Wrath</title>
 <dc:creator>Steinbeck</author>
</Book>
<xsd:simpleType name="myInteger">
  <xsd:restriction base="xsd:integer">
    <xsd:minInclusive value="10000"/>
    <xsd:maxInclusive value="99999"/>
  </xsd:restriction>
</xsd:simpleType>
Conclusion
<Book rdf:ID="book1">
 <dc:title>The Grapes of Wrath</title>
</Book>
<!-- no, this does not follow -->
<xsd:simpleType name="myInteger">
  <xsd:restriction base="xsd:integer">
    <xsd:maxInclusive value="99999"/>
  </xsd:restriction>
</xsd:simpleType>

*RDF/XML does have a rdf:parseType="Collection" syntax, which expands to a lisp style binary tree in the abstract syntax. This erasure property works not on XML elements, but on RDF statements.

Semantic Web Deployment

advancing semantic web wave Berners-Lee, Jan 2003

Semantic Web Roadmap

semantic web layers + GRDDL

HASTAC

Stands for Humanties,Arts,Science, and TechnologyAdvanced Collabotory. hastac

Website: http://www.hastac.org/

Interface Seminar

Needed an application to make the history of computer science come alive, from point of view of humanities

All Patents Project

Tim Lenoir and his research team have been studying platforms

A technology platform is a foundational technology consisting of an ensemble of technology components, subsystems and interfaces that form a common structure from which a stream of derivative products can be efficiently developed and produced. Within a technology platform one or more of the components might be an especially critical "core technology," sometimes a scientific or technological breakthrough that enables the creation of the platform or provides its main competitive leverage. (Lenoir and Giannella)

Kevin Webb has set up http://www.allpatents.org/ allowing searching and querying of U.S. Patent Office Data (in development)

Mapping the History of Interfaces

Key points in Compuing History

Interface logo
  1. Licklider and ARPA
  2. Taylor, BBN, and Internet
  3. John Seely Brown and Xerox PARC
  4. ...
  5. Problem: Many innovations don't have papers - from commerical labs. Track patents instead

Redgraph

group

Focuses on Interactions over Visualization

First 3-D RDF Virtual Reality Application

Runs on cluster or one machine

Built using following open-source tools:

  1. Syzygy
  2. OpenGL
  3. GraphViz
  4. Redland

Xerox PARC Data-Set

Get names of employees from PARC and query using AllPatents...

node

Retrieved:

  1. People
  2. Institutions
  3. Patents

Laid out using Kawada-Kawai algorithm (GraphViz) in 2d

Getting More Data

Just touch the node

select

Extrusion

Manipulate the data by pulling it from 2-d to 3-d

extrusion

Video of Interaction

From HASTAC Conference

Group Pull-Out

Pull out all nodes connected to a node

select

Pilot Results

It appears that fine-grained answers may be answered better than more coarse-grained questions

Working on a user study!

Mean Time to Solve Tasks in 2-D and 3-D

Sample Questions

  1. What company has the most patents?
  2. Did company X or company Y have more patents?
  3. How many patents did company X have?
  4. Name the company that inventor X wrote a patent for?

Biotech Platforms in North Carolina

North Carolina and RTP are biotech hubs

Mashed-up Gereffi's sociological and economic data on biotech companies (location, number of employees) with their patents

Can we use platform analysis to discover what part of the value-chain that a particular biotech patent holds?

When is a biotech platform emerging?

Is anything missing from the emerging platform? Room for innovation?

Visualizing Biotech Patents

Using Fruchterman-Wald, rebuilt code to load and graph large datasets

select

Working on co-co-citation networks to see how biotech platforms evolve over time

Features in Development

  1. Load/Save positions independent of data (as N3).
  2. highlighting/output of nodes of interest.
  3. Autodiscovery of RDF Schemas
  4. Slider widget as time 'filter'
  5. touch 2 nodes Simulatneously and see connections
  6. Investigation of using more robust RDF/N3 parser (Virtuosity)
  7. Any Questions?