When music meets the real world. It’s gonna be awesome.
NB: This post was originally written on blog.seevl.net - I crosspost it here now as I’m starting to blog here again, and I think that’s definitely an approach and a data-serialisation worth using.
I wanted to write about our use of Content-Negotiation for a long time, and as we recently switched to JSON-LD as the unique format to represent our data, I decided to talk about both in this blog post.
As you may know (or can guess when checking the team page), we have been involved in efforts around the Semantic Web and Linked Data for many years, and are big fans of the graph model that these technologies offer. It’s flexible, it’s agile, and it’s a straightforward way to integrate and mash-up data from different sources. But when it comes to providing this data back to developers, things are more complex. One could chose to offer RDF/XML or Turtle, but that generally requires a new skillset. Why ? Because most platforms provide JSON, and developers are consequently more used to this than to other formats. Check in particular these recent stats (slide 22-24) from a talk that John Musser (ProgrammableWeb) gave at SemTech this year.
So, we decided to use JSON-LD for our data, after an initial home-grown JSON-modeling, that was not that far from the current JSON-LD spec. One thing I particularly like is that it enables to send “objects” over the wire rather than as a set of triples. For instance, consider this representation of facts about the Beatles:
{
"@context": {
"collaborated_with": "http://purl.org/ontology/mo/collaborated_with",
"id": "http://purl.org/dc/terms/identifier",
"origin": "http://purl.org/ontology/mo/origin",
"prefLabel": "http://www.w3.org/2004/02/skos/core#prefLabel",
"uri": "@subject"
},
"collaborated_with": [
{
"id": "hSmwe4Dq",
"prefLabel": "The Quarrymen",
"uri": "http://data.seevl.net/entity/hSmwe4Dq#id"
}
],
"origin": [
{
"id": "px6UYEPh",
"prefLabel": "England",
"uri": "http://data.seevl.net/entity/px6UYEPh#id"
},
{
"id": "xMgUSM9b",
"prefLabel": "Liverpool",
"uri": "http://data.seevl.net/entity/xMgUSM9b#id"
}
],
"prefLabel": "The Beatles",
"uri": "http://data.seevl.net/entity/pzkVnsbP#id"
}
If you are used to JSON, you probably understand with no additional effort, and can use any JSON toolkit to parse it. If you are aware of the Linked Data principles, you directly see that every entity has its own URI, that can also be accessed to get more infos about it. And if you care about triples, you can use a JSON-LD parser or the public playground, that will understand the @context values to translate this JSON-LD feed into raw triples (using MO and SKOS here). Clearly, the best of both worlds.
Then, Content-negotiation. When using a website and then deciding to develop around it, I am often frustrated by the need to learn new URLs, new paths, new parameters. Why the hell humans and machines should have different way to access the same data, albeit in different formats ? This is exactly why we rely on Content-negotiation on data.seevl.net. By default, every page is rendered as HTML, but if you ask for JSON, you’ll get a JSON-LD representation of the same entity, separated into different “slices” (infos, link, facts, topics and related artists, as detailed on our dev zone). No need to learn new URIs, no additional paramaters. Just tell us you want JSON, and we’ll serve you what you need !
curl http://data.seevl.net/entity/?prefLabel=beatles -H "Accept: application/json" -H "X_APP_ID: 1c55b80a" -H "X_APP_KEY:65e7fbe154e8cee6c1704a9358dd8939"
JSON-LD – JavaScript Object Notation for Linking Data
The best of both worlds.
HTML5 localStorage is a nice way to store data on the client side. However, when using it to cache remote API calls, you may want to purge it from time to time. As per its spec, there’s no way to automatically set-up a timeOut, so here’s a tiny bit of jQuery that does the job:
var hours = 24; // Reset when storage is more than 24hours
var now = new Date().getTime();
var setupTime = localStorage.getItem('setupTime');
if (setupTime == null) {
localStorage.setItem('setupTime', now)
} else {
if(now-setupTime > hours*60*60*1000) {
localStorage.clear()
localStorage.setItem('setupTime', now);
}
}
Well, not really, even though I should find a way to restore all the posts of my previous blog somewhere on that domain.
I’ve setup this Tumblr for random notes, pics, etc. and a few longer posts. Yet, I guess that most of the blogging side will be on http://blog.seevl.net – both from the tech and the business side, discussing what we’re building over there in the music and data space. I’ll try to link them – or crosspost some bits and pieces – from here.
Originally posted on blog.seevl.net, and probably also relevant for the readers of this website or planetrdf.
You’re passionate about music? Want to join a team working on state-of-the-art Linked Data, Social Semantic Web and NoSQL technologies? Want to work with third-party services to let them know what they can do with our data? Let’s join the team! We are currently looking for interns on Web Engineering and Business Development. The internships last between three and six months and are based in Galway, Ireland.
About Us
Seevl provides a new way to explore the cultural and musical universe of your favorite artists, and lets you discover new ones by understanding how they are connected. We are a spin-out of the Digital Enterprise Research Institute (DERI), at the National University or Ireland, Galway. DERI is the world’s largest Semantic Web research institute, and Seevl brings together several years of R&D on the Semantic Web, Linked Data, Social Web and Web Science areas.
About You
You are passionate about Music, Social Web and Linked Data technologies. You think that the Web could be a better place for music discovery if data was more integrated, structured and interlinked – and also more open. You want to investigate the related engineering or business development challenges.
Required Skills
Additional Skills for the Engineering Position
Additional Skills for the BizDev Position
Benefits
Want to apply?
Great. Please send us your resume (or LinkedIn profile), a short statement on why you are interested and some links to your blog and Twitter account to jobs[AT]seevl.net. For the engineering position, please send a link to your github account (or equivalent).
The Social Software Unit of the Digital Enterprise Research Institute at the National University of Ireland, Galway has openings for student internships to work on privacy and policies in mobile and distributed Social Semantic Web applications, with a special focus on SMOB and PubSubHubbub. The overall goal of the project is to extend current infrastructures for mobile and distributed Social Semantic Web applications with intelligent privacy settings interpreted in the cloud.
The internship must be at least 6 months, and the students will combine theoretical research and implementation, delivered as open-source components. Ideally, the internship will lead to the students M.Sc. thesis. The following skills are expected:
To apply, please send:
To alexandre DOT passant AT deri DOT org, in a single PDF file, by Friday 21st of January, with an e-mail titled “SSW internship”. Applications that do not follow these requirements will not be considered. For any question, please e-mail the same address.
=================
CALL FOR PAPERS : The 8th Extended Semantic Web Conference (ESWC)
Social Web and Web Science Trackhttp://www.eswc2011.org/
May 29 – June 2, 2011, Heraklion, Greece=================
* Chairs: Alexandre Passant, DERI, IE and Denny Vrandecic, KIT, DE
* Abstract submission: December 6, 2010
* Full-paper submission: December 13, 2010http://www.eswc2011.org/content/cfp#Social%20Web%20and%20Web%20Science
=================
The success of Social Web applications (often referred to as ‘Web 2.0’ applications) is manifested through the fast growth of social networks and sites with user-generated content, like Facebook, Twitter, YouTube, Wikipedia, Flickr, and many more. Many Social Web applications have simplified the data publishing process using user-friendly and interactive tools and practices (such as Wikis, tagging, and microblogging) and have decreased the cost and increased the incentive to contribute data. In addition, some trends such as ubiquitous computing lead to new ways and means to share content in real-time within social communities.
The combination of Social Web principles and Semantic Web technologies allows end-users to massively produce and use semantic data through social applications, which in turn enables smarter Web-based applications in various domains. This includes the Social Web itself, where it becomes possible to mine Semantic Web data and discover relationships that were not obvious, whether it is in social network identification or for information retrieval purposes. These can be exploited for various purposes: to personalize applications, recommend content, generate new knowledge, and more. But besides the technical aspect, there is also a need to understand the behaviors and patterns of users on the Web, and in particular on the Social Web. Web Science aims to address these issues, also considering other aspects that are important to realize a Social Semantic Web, such as governance, law, policies and decision-making, etc.
This track on Social Web and Web Science aims at bringing together researchers from these communities to address various challenges from improving Social Web user experiences with Semantic Web technologies in order to build novel semantic applications using Social Web data, as well as understanding the various patterns of the Web. Successful submissions will address at least some aspect of both areas. Topics of interest include, but are not limited to:
* Collaborative and collective semantic data generation and publishing
* Social and semantic bookmarking, tagging and annotation
* Enriching the Social Web with semantic data: RDFa, micro formats and other approaches
* Linked data on the Social Web
* Semantically-enabled social platforms and applications
- Semantic wikis
- Semantic desktops
- Semantic portals
- Semantic blogs
- Semantic calendars
- Semantic email
- Semantic news, etc.
* Querying, mining and analysis of social semantic data
* User profile construction based on tagging and annotations
* Reasoning and personalization based on semantics
* Recommendations
- Social navigation
- Social search, etc.
- Privacy, policy and access control on Social Semantic Web
* Provenance, reputation and trust on Social Semantic Web
* Formation, management and understanding of semantically interlinked online communities
* Citizen sensing and ubiquitous Social Semantics
* Social Semantic Web and Internet of Things=================
SUBMISSIONS
The proceedings of the conference will be published in Springer’s
Lecture Notes in Computer Science series. Paper submission and reviewing
will be electronic. Papers must not exceed fifteen (15) pages in length
and must be formatted according to the information for LNCS authors:
http://www.springer.com/computer/lncs?SGWID=0-164-6-793341-0Papers must be submitted as PDF (Adobe’s Portable Document Format)
and will not be accepted in any other format. Papers that exceed 15 pages
or do not follow the LNCS guidelines risk being rejected automatically
without a review. The contributions to the Semantic Data Management track
should be submitted through the track submission site at:http://www.easychair.org/conferences/?conf=eswc2011social
=================
IMPORTANT DATES
Abstract submission: Dec. 6, 2010 (compulsory)
Full paper submission: Dec. 13,2010 (11:59 pm Hawaii time)
Notifications: Feb. 21,2011
Camera-ready due: March 7,2011=================
PROGRAM COMITTEE
Fabian Abel
Harith Alani
Sören Auer
Edward Benson
Shlomo Berkovsky
John Breslin
Ciro Cattuto
Federica Cena
Richard Cyganiak
Antonina Dattolo
Darina Dicheva
Ying Ding
Jon Dron
Guillaume Erétéo
Anna Fensel
Fabien Gandon
Cristina Gena
Steve Harris
Aidan Hogan
Ekaterini Ioannou
Neil Ireson
Robert Jäschke
Lalana Kagal
Pranam Kolari
Georgia Koutrika
Milos Kravcik
Juanzi Li
Meenakshi Nagarajan
Matthew Rowe
Ansgar Scherp
Juan F. Sequeda
Paul Smart
Sergey Sosnovsky
Steffen Staab
Markus Strohmaier
Mischa Tuffield
Shenghui Wang
Katrin Weller
Mary-Anne Williams
Jie Zhang
Lina Zhou
Here is another Ph.D. position available in DERI. Deadline is next monday, and if you’re in SemTech and have any questions, please email / tweet me to discuss it face to face.
As part of the “Social Semantic Enterprise” project, and in collaboration with Cisco Systems and the IRCSET (Irish Research Council for Science, Engineering and Technology), the Digital Enterprise Research Institute is currently seeking a Ph.D. candidate on the topic of Social Software, Enterprise data integration, information quality and privacy. This research project is part funded by Cisco Research Center in response to the collaboration RFP category.
The successful candidate will study how to integrate public data from the Social Web (Tweets, linkedIn profile, Facebook updates, etc.) in the Enterprise, while at the same time respecting privacy of employees and ensuring that only relevant and accurate data is shared in the enterprise. This integration will provide a better integration of Social Web platforms both inside and outside the workspace, leveraging both with common semantics for an integrated social knowledge management experience.
Candidates should have at least a M.Sc. degree in computer science, science or engineering with excellent results, have the pre-requisites for Ph.D. studies at NUI Galway, and must be fluent in english. The Ph.D. position covers academic fees, a generous monthly stipend and a research travel allowance for a three year period, as well as the use of DERI’s facilities for experimentations and research.
The following criteria are expected from the student:
- Interest with Semantic Web technologies (RDF(S)/OWL, SPARQL, etc.) and Linked Data
- Interest and familiarity with social software (blogs, wikis, microblogging, etc.)
- Interest in Enterprise information systems and data integration
- Interest for standardisation processes
- Good programming skills
- Good english writing skills
The successful candidate will work with Dr. Alexandre Passant in DERI, NUI Galway, within the Social Software Unit. There will be extensive opportunities for collaboration with other researchers and research units and projects in DERI and in Europe, as well as in other world-wide institutes with whom DERI collaborates, including opportunities for a long-term visit during the Ph.D. timeframe. The Digital Enterprise Research Institute, Galway (DERI) is one of the largest semantic research organization in the world. DERI’s mission is to enable networked knowledge, globally interlinking information from the Web and the physical world. DERI is based in Galway is one of the most beautiful Irish cities shaped by artistic communities, active student life, innovative industry and leading edge research. Galway is located at the beautiful west coast of Ireland within the Galway Bay, ‘between’ Europe and the U.S., making it an ideal hub for national, European and international research.
The application must be send by June 28th, 2010 to Dr. Alexandre Passant in either (X)HTML, pdf or plain text and must contain the following:
- a CV
- a one page statement explaining the candidate’s interest in and compatibility with the objectives of the position
- a list of (minimum two) referees
- additionally, publications, software and other artifacts that the student may be consider relevant – ideally as links to resources available online
- copies of M.Sc. results and transcripts
Applications that do not follow the previous format will not be considered. Requests for information should be addressed to the same person.