Top Banner
Graphity Generic Linked Data platform Do more with less!
20

Graphity - Generic Linked Data Platform

Jul 09, 2015

Download

Technology

Linked Enterprise Data Patterns Workshop 2011 presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Graphity - Generic Linked Data Platform

GraphityGeneric Linked Data platform

Do more with less!

Page 2: Graphity - Generic Linked Data Platform

Wulffmorgenthaler

Danish comic strip since 2001

Page 3: Graphity - Generic Linked Data Platform

HeltNormalt

Rebranding in 2011

Page 4: Graphity - Generic Linked Data Platform

Old codebase

ZendFramework

ModelPHP

templatesMySQLPropelORM

Controller

View

SQL arrays

Request Response

Objects

Page 5: Graphity - Generic Linked Data Platform

Model-View-Controller

Webframework

Model TemplatesRDBMSORM/DAO

Controller

View

SQL

Request Response

Objects

Page 6: Graphity - Generic Linked Data Platform

Leaky abstractions

Page 7: Graphity - Generic Linked Data Platform

Incompatible APIs

DataConversions(N) ≥ 2 × (N − 1)Number of data (model) conversions between source datastore and target datastore

Custom codeBugs

Page 8: Graphity - Generic Linked Data Platform

Model mismatch

DataConversions(N) = 2 × (N − 1)

RDF

XML

JSON

Relationalmodel

Custom codeBugs

ObjectModel

Page 9: Graphity - Generic Linked Data Platform

Linked Data(sources)

DataConversions(N) = 0

Page 10: Graphity - Generic Linked Data Platform

REST+RDF

JAX-RS Jena

ResourcegetURI()

Request/Response Model

@Path Property

UriBuilder Literal

Page 11: Graphity - Generic Linked Data Platform

RDFResource

getURI()

getModel()

exists()

describe()

authenticate()

authorize()

Page 12: Graphity - Generic Linked Data Platform

Linked Systems

PlatformGraphity

ModelRDF store

ControllerResources

ViewXSLT

RDF/POST

DOMSPARQLUpdate

Request Response

RDF

Page 13: Graphity - Generic Linked Data Platform

Unified model

DataConversions(N) = 2

RDF

XMLRDF/XML

JSONJSON-LD

Relationalmodel

DOM D2RQ

Objectmodel

RDF API

Page 14: Graphity - Generic Linked Data Platform

Generic design

Reuse reuse reuse!

APIs: JAX-RS, Jena, XSLT

Ontologies: ACL, DC, SIOC, FOAF, Zodiac, LD API

Push abstractions & logic to RDF

Generalize cases

Refactor to minimize

Inversion of control

Overload default behaviour

Page 15: Graphity - Generic Linked Data Platform

Codebase comparison

Component Language # of files

# of lines Language # of files # of lines

HeltNormalt Old codebase

Model SPARQL 89 5590 PHP 93 19325

Model (strips) 7 588

View XSLT 60 9293 PHP 67 2528

View (strips) 5 784

Controller PHP 65 4155 PHP 51 7625

Controller (strips) 1 32

Graphity Zend Framework

Platform PHP 88 6043 PHP 284 50755

Page 16: Graphity - Generic Linked Data Platform

Server load

Page 17: Graphity - Generic Linked Data Platform

Potential RDF sources

HTTP traffic

Filesystems

Program code

repositories

source

Page 18: Graphity - Generic Linked Data Platform

Generic Linked Data tools & UI

Browser/editor

Analytics

Maps

Timelines/calendars

Real-time streams

Social widgets

Page 19: Graphity - Generic Linked Data Platform

W3C involvment

Best practices

Standard RDF/JSON syntax

Standard RDFizer interface

GRDDL stylesheet repository

Community involvment

w3c.github.com