rdf and sparql for php developers (at new york semantic web meetup)
DESCRIPTION
Slides from Semantic Web Meetup talk at New York City on May 21st, 2009 about Semantic Web technologies for PHP developersTRANSCRIPT
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers
Benjamin Nowackbnode.org / semsol.com
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
(1) How can PHP developers benefit from the emerging Semantic Web (technologies)?
(2) How can Semantic Web projects benefit from PHP (developers)?
Two Perspectives
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● Templating● Request handlers● Controllers● Framework extensions● Glue code● Prototyping
Scripting Languages
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● talk with designers and UX teams● understand data models● talk with (or are) back-end
developers● know agency processes● are efficient and cost-effective
PHP/Ruby/... Developers
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Scripting language developers have strong and multidisciplinary front-end skills that lack in the
current SemWeb landscape!
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● demand will grow, good investment● more interesting, possibly better
paid projects● improved productivity● more (usable) semantic web apps● reduced time to market
Win-Win
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
But there is more to the Semantic Web than „just“ direct business
opportunities...
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
(1) A Web of machine-processable data
(2) A collection of powerful technologies
Two Other SemWeb Perspectives
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● Templating/UI: back-end-dependent● Request handlers: custom code and APIs● Controllers: local, fixed models only● Framework extensions: no standards● Glue code: many one-off conversions● Prototypes: schema changes are painful
Technical Issues
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Semantic Web technologies address these technical limitations and
related productivity issues.
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● a simple, unifying data model (RDF)● standardized data exchange formats● lossless data portability● a powerful, simple data API (SPARQL)● re-mixable schemas (RDFS/OWL)● automated data processing
SemWeb for Web Development
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● Templating/UI: back-end independence● Request handlers: reusable code / APIs● Controllers: distributed models● Framework extensions: standards, reuse● Glue code: less conversion code● Prototypes: less painful schema changes
Technical Opportunities
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
However...
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
The ROI has to justify the initial friction loss!
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● My projects integrate data from the Web● (Semantic) web standards and openness
matter to me and/or my clients● I often work with non-stable schemas ● I can afford betting on an evolving
technology stack
When SemWeb Tech (or not)?
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● There is almost no developer-oriented learning material
● Some things work differently in RDF (validation, data quality, API control, ...)
● Identifying and getting used to needed specs and vocabularies takes time
● All toolkits have non-standard extensions
Re Friction Loss
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● something light-weight and optimized for PHP environments (and mindsets)
● tools that are easy to combine with existing software
● support for Web 2.0 data formats, too (microformats, RSS2, Atom, JSON)
ARC RDF Classes: Motivation
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● RAP (RDF toolkit)● pOWL (CMS, app framework)● ARC (RDF toolkit)● OntoWiki / Erfurt (CMS, API)● Drupal (soon w/ RDF in core)● Trice (CMS, app framework)
Pure-PHP RDF Software
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● Redland (RDF toolkit w/ PHP bindings)● Semantic MediaWiki (PHP-based)● Talis platform (has lots of PHP tools)● Virtuoso (PHP interpreter built in)● paget (Linked Data publishing)● Loomp (Semantic publishing)
More PHP(ish) RDF Software
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● A pick-what-you-need RDF toolkit● HTTP reading/posting● Parsing (RDF formats, Atom, RSS, MFs)● Serializing (XML, JSON, Turtle)● Storage & Querying (local or remote)● SPARQL Scripting
ARC
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● A basic app framework on top of ARC● Working with RDF stores made easy● Path-based request handlers● Forms with automatic RDF generation● Sessions (OpenID or local user:pass)● Themes (per request handler)
Trice
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Software requirements:ARC: Web server, PHP, MySQL (storage)Trice: ARC, mod_rewrite, .htaccess
Setup:ARC: uploadTrice: sys.php / upload / file cache /
first request creates RDF store(s)and admin account
ARC / Trice
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Examples & Demos● Accelerated prototyping (Data First)● Less painful schema changes (RDF)● Reusable template sections (URIs)● The page is a (standardized) API (RDFa)● Less custom glue code (RDF formats)● A powerful API for free (SPARQL)
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Examples & Demos (ctd.)● Lossless Backup/Deploy (UghRIs!)● Simple remote data integration (LOD)● Remote model access (LOD + SPARQL)● Increasing data value (RDFa <=> LOAD)● Inference scripts (Sparqlets)● Putting it all together (Paggr/ConfX)
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
Some Lessons Learned (the hard way)
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Start small.
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Focus on the use cases at hand.(The „potential“ ones will come early enough.)
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Partition data when possible.
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Resist the „I could automate this even further, right now“ reflex.
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Respect the core standards, but expect the need for custom solutions here and there (and let the community know).
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
• Don't pick more from the SemWeb Menu than you can consume.
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
RDF and SPARQL for PHP Developers – NY Semantic Web Meetup - May 21, 2009
● http://arc.semsol.org/● http://trice.semsol.org/ (soon)● http://semsol.com/● http://bnode.org/
Thank You