Semantic Web Application Framework
Pedro Lopes & José Luís [email protected]
http://bioinformatics.ua.pt
SWAT4LS 2011, December 9th, London, UK
¢
¢
¢
¢
¢
What?
Why?
How?
¢
Setting it up...
Where?
Closing
¢ ¢ ¢¢ ¢ ¢
What?
http://bioinformatics.ua.pt/
Next Generation Semantic Web Application Framework
Rapid Application Deployment
Data Integration Platform
Advanced Data Exploration Framework
“SEMANTIC WEB IN A BOX” FOR BIOINFORMATICS
¢ ¢ ¢¢ ¢ ¢
Why?
http://bioinformatics.ua.pt/
IMPROVE BIOMEDICAL APPLICATIONS DOMAIN
(Among others…)
SEMANTIC WEB + LIFE SCIENCES
perfect benchmarkawareness from bioinformatics developers
common intertwined graph relationship structure
BUT...
Semantic Web is still underused in the life sciences domain
transition/migration is very difficultcomplex application deployment
learn a whole new batch of technologies (again!)
You are notable exceptions!
¢ ¢ ¢¢ ¢ ¢
How?
http://bioinformatics.ua.pt/
KNOWLEDGE
SEEDis a single app, an instance
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
KNOWLEDGE
SEEDis a single app, an instance
KNOWLEDGE
GARDENlinks multiple seeds
FederationGarden
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
INTEGRATIONData in = Connectors
CONNECTORS = CSV + XML + SQL + SPARQL
any predicate matches data from selectors
csv columns
xml XPath results
SQL table columns
SPARQL query variables
load everythingflexible format support
map external data into a seed’s model
EXPLORATIONData out = APIs
API = SPARQL + REST + Java + LinkedData
one seed, multiple apps and/or multiple seeds, one app
federate to existing appsaccess with REST or SPARQL
distributed knowledge network
code your own appsin any programming language available
for desktop, web or mobile
¢ ¢ ¢¢ ¢ ¢
Setting it up...
http://bioinformatics.ua.pt/
CONFIGURATIONWhere’s everybody?
CONFIGURATION = JS FILE + (ONTOLOGY * SETUP)
de!ne seed ontology then setup resources
local app con!gurationJSON object in JavaScript file
defines application properties (name, version, environment…)
seed ontologybased on COEUS ontology
your app data model
resource setupresource connectors configuration
ontology mappings
BUILDINGGetting data together...
SEMANTIC WEB TRANSLATION
subject - predicate - object
triplify dataapp setup + data = triples
subject
created at runtimenew Item individual
predicate
configured in app setupfoaf:name
dc:title
rdfs:label
owl:versionInfo
swat4ls:link
...
object
resource dataCSV column
SQL table column
XML XPath
SPARQL variable
Plugin
EXPLORINGPutting the Web in Semantic Web
INTEROPERABILITY
…/sparql
perform SPARQL queries
get data in multiple formats
GET requests for all data
…/api/<concept>_<id> for relationships
…/api/sub/pred/obj/<format> for specific content
abstracted from Jena’s methods
SPARQL
REST
Java
LinkedData …/resource/<concept>_<id>
¢ ¢ ¢¢ ¢ ¢
Where?
http://bioinformatics.ua.pt/
Drugs
AppHere!
Whatever
AppHere!
Knowledge Here!
Knowledge Here! Knowledge Here!Knowledge Here!
Knowledge Here!Knowledge Here!
FederationGarden
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
API
Connectors
MySQL
SQL XMLCSV SPARQL
Jena
REST Java SPARQL LinkedData
PubbyJoseki
http://bioinformatics.ua.pt/dc4
¢ ¢ ¢¢ ¢ ¢
Closing
http://bioinformatics.ua.pt/
INTEGRATION
+EXPLORATION
= “SEMANTIC WEB IN A BOX”
Connectors CSV, SQL, XML, SPARQL
API Java, REST, SPARQL, LinkedData
http://bioinformatics.ua.pt/coeus
WE
ARE
LOO
KIN
G F
OR R
ESEA
RCH
CO
LLA
BO
RATI
ON
S!
THANK YOU!Questions and Feedback are (very) welcome!
http://bioinformatics.ua.pt/