https://www.w3.org/wiki/api.php?action=feedcontributions&feedformat=atom&user=GkelloggW3C Wiki - User contributions [en]2024-03-28T07:58:31ZUser contributionsMediaWiki 1.41.0https://www.w3.org/wiki/index.php?title=TPAC/2019/SessionIdeas&diff=110405TPAC/2019/SessionIdeas2019-09-18T04:23:30Z<p>Gkellogg: JSON-LD Slides</p>
<hr />
<div>You are invited to propose [https://www.w3.org/2019/09/TPAC/ TPAC 2019] '''Technical Plenary Day''' breakout sessions in advance of the meeting. Booking closes on Tuesday, September 17th at 5 pm local time. <br />
<br />
See the [[TPAC/2019/FAQ | TPAC 2019 FAQ]] for more information. The draft session grid is at https://w3c.github.io/tpac-breakouts/sessions.html.<br />
<br />
<div style="float:right;clear:right">__TOC__</div><br />
<br />
== How to use this page ==<br />
<br />
Please use this page to:<br />
<br />
* Propose sessions you wish you lead<br />
* Propose sessions you wish others to lead (it's a good idea to let them know ahead of time)<br />
* Indicate whether you plan to attend a session (helps with scheduling)<br />
* '''Please place new proposal at the bottom of this document'''<br />
<br />
== How to propose a session ==<br />
<br />
Please provide:<br />
<ul class="show_items"><br />
* session name (as a === subhead === )<br />
* session proposer (yourself, if so sign using 4 tildes; optional: name a desired session leader) and an email address<br />
* one sentence session summary<br />
* type of session: (e.g.: open discussion, talk, panel, etc.)<br />
* goals of session<br />
* additional speakers/panelists (to help reduce conflicts when one person is needed in more than one place)<br />
* any timing constraint you already know (e.g. you expect to invite someone in a different time zone)<br />
* if you can guess, whether you'll need a {big | medium | small} room (we can't guarantee you'll get it, however)<br />
* add an "Interested" bullet for people to sign up for sessions<br />
</ul><br />
<br />
== From an idea to a breakout ==<br />
<br />
<span style="color:#ff0000">'''The goal is to have a near-final breakout sessions schedule by the night before the plenary (Tuesday, September 17th).</span><br />
<br />
This ensures a more inclusive process in how the breakout sessions are defined and scheduled (thus avoiding any mad scramble). An HTML and mobile-friendly filled-out session grid for the day’s breakout sessions will be generated by the Team. [[TPAC/2019/FAQ#How_does_the_agenda_get_built.3F|Read more in our FAQ]].<br />
<br />
== Proposed sessions ==<br />
<br />
=== EXAMPLE session with session name ===<br />
* Proposer: <nowiki>~~~~</nowiki> (Instruction: remove <nowiki><nowiki> and </nowiki></nowiki> around the tildas. Explanation: The 4 tildas will sign YOUR name and include a timestamp of your proposal.)<br />
* Email address of proposer: <br />
* Summary (one-sentence or so): <br />
* Type of session (e.g.: open discussion, talk, panel, etc.): <br />
* Goals:<br />
* [optional] shortname (used for minting an IRC channel for the breakout)<br />
* [optional] Additional speakers/panelists:<br />
* [optional] Timing constraint: (e.g. you expect to invite someone in a different time zone)<br />
* [optional] Estimated room capacity: {big | medium | small} room<br />
<br />
=== ReSpec - so many new features! ===<br />
* Proposer: Marcos Cáceres<br />
* Email address of proposer: mcaceres@mozilla.com <br />
* Summary (one-sentence or so): Covering all the exciting advancements we've made in the last year, including automatic cross references, smart citations, MDN integration, and more! <br />
* Type of session: talk and open discussion <br />
* Goals: Introduce Editors to new features. <br />
* shortname: #pub<br />
* Additional speakers/panelists: Sid Vishnoi, Kagami Sascha Rosylight <br />
* [optional] Estimated room capacity: medium room<br />
<br />
=== Japan Language Requirements Task Force: Evolving the JLReq document ===<br />
* Proposer: [[User:Nmccully|Nathaniel McCully]] ([[User talk:Nmccully|talk]]) 16:29, 2 August 2019 (UTC)<br />
* Email address: nmccully@adobe.com<br />
* Summary: Explanation of the JLReq v2 effort currently underway, and a glimpse into the roadmap of a v3, that seeks to serve the needs of developers of layout engines for modern, dynamic media that support high-quality Japanese layout<br />
* Type of session: talk<br />
* Goals: To inform that this is happening, and get more people interested in the issues of high-end Japanese typography and layout in the context of responsive modern digital media.<br />
* shortname: jlreq<br />
<br />
=== Results from MDN Developer Survey ===<br />
* Proposer: [[User:Dom|Dominique Hazaël-Massieux]] ([[User talk:Dom|talk]]) 06:52, 5 August 2019 (UTC)<br />
* Email address: dom@w3.org<br />
* Summary: Meet the MDN Product Advisory Board and discuss how the results of the [https://hacks.mozilla.org/2019/07/mdn-web-developer-designer-survey/ MDN Developer Survey] can impact W3C's agenda<br />
* Type of session: short talk & discussion<br />
* Goals: Bring input to the MDN Product Advisory Board to see how MDN documentation can evolve to better meet the need from the W3C community; learn about the MDN Developer Survey and discuss what conclusions to draw from its results in terms of the W3C standardization agenda<br />
* Additional speakers/panelists: Kadir Topal, Dan Appelquist, Jory Burson, Travis Leithead, Joe Medley<br />
* shortname: mdn<br />
* Estimated room capacity: medium room<br />
<br />
=== Mini App Standardization ===<br />
* Proposer: [[User:laq|Angel Li]] 10:14, 14 August 2019 (UTC)<br />
* Email address: angelli.laq@alibaba-inc.com<br />
* Summary: Meet the major Mini App players, introduction of [https://www.w3.org/TR/mini-app-white-paper/ '''Mini App white paper'''] drafted by W3C Chinese IG, discuss the way forward for Mini App Standardization in W3C.<br />
* Type of session: short talk & discussion<br />
* Goals: help the global web community to better understand Mini App and the value of its standardization, find proper way to move forward in W3C.<br />
* shortname: MiniApp<br />
* Estimated room capacity: medium room (note: polycom to support remote attendees if possible)<br />
* Interested: [[User:Chris|Chris Lilley]] ([[User talk:Chris|talk]]) 13:54, 27 August 2019 (UTC)<br />
<br />
=== Web Packaging ===<br />
(Including Signed Exchanges and Bundles.)<br />
* Proposer: [[User:Jyasskin|Jeffrey Yasskin]] ([[User talk:Jyasskin|talk]]) 18:41, 14 August 2019 (UTC)<br />
* Email address of proposer: jyasskin@google.com<br />
* Summary (one-sentence or so): Discuss W3C feelings about the [Web Packaging proposal](https://github.com/WICG/webpackage).<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Short talk & discussion<br />
* Goals: Ensure everyone knows the state of the IETF discussion and the Chromium implementation; recruit collaborators; discover concerns and needed changes; get advice about what route through the W3C/WHATWG processes to follow.<br />
* shortname: wpack<br />
* Additional speakers/panelists: [[User:Kyasuda2|Kinuko Yasuda]]<br />
* Timing constraint: TBD<br />
* Estimated room capacity: medium room<br />
<br />
=== A target privacy threat model for the Web ===<br />
* Proposer: [[User:Jyasskin|Jeffrey Yasskin]] ([[User talk:Jyasskin|talk]]) 19:04, 14 August 2019 (UTC) (However, I'd love to have someone else lead this.)<br />
* Email address of proposer: jyasskin@google.com<br />
* Summary (one-sentence or so): Proposals for new features often encounter resistance from folks who want the Web Platform to defend its users' privacy better than it does today. This often surprises the authors of those proposals, who were designing against the Web's current, implicit, and weak privacy threat model. Making our privacy goals explicit could avoid those surprises and reduce the load on privacy reviewers.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Open discussion<br />
* Goals: Explore the interest in developing a target privacy threat model for the Web.<br />
* shortname: privthreatmodel<br />
* Additional speakers/panelists: [Your name here]<br />
* Timing constraint: <br />
: morning session would be preferable for East Coast remote attendees -- [[User:Npdoty|Nick Doty]] ([[User talk:Npdoty|talk]])<br />
* Estimated room capacity: large room --- with polycom to support remote attendees<br />
* Dial in: Phone: https://meet.google.com/tel/aoe-vzqz-stt; Computer: https://meet.google.com/aoe-vzqz-stt<br />
<br />
=== Next Generation TextTrackCue ===<br />
* Proposers: [[User:Ecarlson2|Eric Carlson]] ([[User talk:Ecarlson2|talk]]) 20:18, 15 August 2019 (UTC), [[User:Eoconnor|Theresa O'Connor]], [[User:PLemieux|Pierre-Anthony Lemieux]]<br />
* Email address of proposers: eric.carlson@apple.com,hober@apple.com,pal@sandflow.com<br />
* Summary: TextTrackCue enhancements for programmatic subtitle and caption presentation. We've been making progress since FOMS this past spring. Please see our FOMS slides for the basic idea: https://www.icloud.com/keynote/0GJUbJwWfA2i77M2JysKjj45w#Generic_Text_Cue_-_FOMS_2019<br />
* Type of session: talk and open discussion<br />
* Goals: Engage with browser engineers and media experts & gauge interest in pursuing this as new web API<br />
* shortname: textcueapi<br />
* Estimated room capacity: medium room (~20 people)<br />
<br />
=== JS Built-In Modules ===<br />
* Proposer: [[User:dcrousso|Devin Rousso]] ([[User talk:dcrousso|talk]]) 22:05, 15 August 2019 (UTC)<br />
* Email address of proposer: dcrousso@apple.com<br />
* Summary (one-sentence or so): introduction to the concept of JS Built-In Modules, as well as an overview of the currently proposed governance model<br />
* Type of session: talk<br />
* Goals: disseminate knowledge of JS Built-In modules to other hosts built on top of JavaScript (e.g. web browsers), and introduce the proposed governance model to potential stakeholders of additional JS Built-In Module namespaces (e.g. web:)<br />
* Additional speakers: Michael Saboff <msaboff@apple.com> (call-in TC39 proposal champion)<br />
* Timing constraint: friendly towards PST<br />
* Estimated room capacity: medium room<br />
* shortname: jsbuiltin<br />
<br />
=== WebTransport status and next steps ===<br />
* Proposer: Peter Thatcher<br />
* Email address of proposer: pthatcher@google.com<br />
* Summary (one-sentence or so): Discuss [https://github.com/WICG/web-transport WebTransport API] and next steps for a WG or CG<br />
* Type of session: short talk (maybe demo too) & discussion<br />
* Goals: Ensure everyone is up to date on the latest API, implementation status, and interaction with the IETF ([https://mailarchive.ietf.org/arch/browse/webtransport/ link to mailing list]; [https://tools.ietf.org/wg/dispatch/minutes link to DISPATCH minutes]); determine when and how we should create a WG or CG; discuss advanced API topics such as how best to use WHATWG streams, how to handle congestion control, and stream prioritization<br />
* Shortname: webtransport<br />
* Estimated room capacity: medium room<br />
* Interested:<br />
** [[User:Halvestr|Harald Alvestrand]] ([[User talk:Halvestr|talk]]) 12:04, 12 September 2019 (UTC)<br />
** [[User:Ricea|Adam Rice]] ([[User talk:Ricea|talk]]) 09:06, 16 September 2019 (UTC)<br />
<br />
=== Web stories ===<br />
* Proposer: [[User:Coralie|Coralie Mercier]] ([[User talk:Coralie|talk]]) 15:45, 20 August 2019 (UTC)<br />
* Email address of proposer: coralie@w3.org<br />
* Summary: Feedback and brainstorming for (re)introducing the Web Consortium to the public. The W3C Comm team wants to get background stories from our Members and community about how they were drawn to the Web (before the Web, or their first involvement with the Web). There is a path for how everyone in our community has come to the Web, what they see happening now and what they see in the future.<br />
* Type of session: open discussion<br />
* Goals: We want to gather stories in order to tell a compelling story to the public. W3C Comm team may use this as part of an upcoming crowdfunding campaign.<br />
* shortname: webstories<br />
* Estimated room capacity: medium room<br />
* Interested:<br />
** ...<br />
<br />
=== WebGPU ===<br />
* Proposer: Myles C. Maxfield<br />
* Email address of proposer: mmaxfield@apple.com<br />
* Summary (one-sentence or so): Update on the progress of WebGPU, and group discussion about future directions and what to focus on<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Talk and open discussion<br />
* Goals: Help people understand the direction that WebGPU is going, and get feedback from the broader community<br />
* [optional] shortname (used for minting an IRC channel for the breakout): webgpu<br />
* [optional] Additional speakers/panelists: Dean Jackson, anyone else in the CG<br />
* [optional] Estimated room capacity: medium room?<br />
<br />
=== DataCue and "Time marches on" in HTML ===<br />
* Proposers: [[User:chrisn|Chris Needham]] ([[User talk:chrisn|talk]]) 11:45, 22 August 2019 (UTC)<br />
* Email address of proposers: chris.needham@bbc.co.uk<br />
* Summary: The DataCue API for media-synchronised metadata and interactivity events is part of HTML5, but not implemented across all browsers, and existing implementations vary. There are also issues with the ''time marches on'' algorithm in HTML for triggering timed interactivity events<br />
* Type of session: talk and open discussion<br />
* Goals: To advance the DataCue API design between media experts and browser developers, and discuss how to improve synchronisation of media and associated content on the web<br />
* Shortname: #datacue<br />
* Timing constraint: Please avoid overlap with the Next Generation TextTrackCue breakout, as it's largely the same participants<br />
* Estimated room capacity: medium room<br />
<br />
=== Portals (status and next steps) ===<br />
* Proposer: [[User:Jbroman|Jeremy Roman]] ([[User talk:Jbroman|talk]]) 18:44, 22 August 2019 (UTC)<br />
* Email address of proposer: jbroman@google.com<br />
* Summary: Discuss Portals and next steps for a WG or CG. Portals allow for seamless navigation between different documents, same and cross origin, embedded or not. See hands-on article and WICG repository.<br />
* Type of session: short talk (possibly a few demos) followed by discussion<br />
* Goals: Ensure everyone is up to date on the latest proposed API, implementation status, use cases and interest from developers; determine what are the next steps, and concerns if any; discuss advanced API topics or use cases.<br />
* Shortname: portals<br />
* Estimated room capacity: medium room<br />
<br />
=== Ad Measurement and Privacy ===<br />
* Proposer: [[User:johnwilander|John Wilander]]<br />
* Email address of proposer: wilander@apple.com<br />
* Summary: We will discuss Apple's proposed and implemented [https://wicg.github.io/ad-click-attribution/index.html Private Click Measurement] and Google's proposed [https://github.com/csharrison/conversion-measurement-api Click Through Conversion Measurement].<br />
* Type of session: Open discussion <br />
* Goals: Discuss the open issue of fraud detection and what is required to ship this feature.<br />
* Estimated room capacity: Medium room<br />
* shortname: ad-privacy<br />
<br />
=== Input for workers/worklets ===<br />
* Proposer: [[User:Nzolghadr|Navid Zolghadr]] ([[User talk:Nzolghadr|talk]]) 14:16, 26 August 2019 (UTC)<br />
* Email address of proposer: nzolghadr@chromium.org, majidvp@chromium.org<br />
* Summary: Towards exposing [https://wicg.github.io/input-for-workers input events to Workers and Worklets].<br />
* Type of session: Open discussion<br />
* Goals: Discuss use cases and implications, brainstorm the API<br />
* shortname: workerinput<br />
* Additional speakers/panelists: Majid Valipour<br />
* Estimated room capacity: medium<br />
<br />
=== Privacy Budget ===<br />
* Proposer [[User:Blassey|Brad Lassey]]<br />
* Email address of the proposer: lassey@google.com<br />
* Summary: Chrome proposed a [https://github.com/bslassey/privacy-budget "privacy budget"] to limit the ability for websites to fingerprint users. We's like to have a discussion around this proposal and its implications.<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: privacybudget<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== Trust Tokens ===<br />
* Proposer: [[User:blassey|Brad Lassey]]<br />
* Email address of the proposer: lassey@google.com<br />
* Summary: Cloudflare proposed the concept of the [https://privacypass.github.io/ Privacy Pass protocol] to avoid repeatedly showing captchas to Tor users and Chrome expanded on the idea to propose a more general purpose [https://github.com/dvorak42/trust-token-api Trust Token API] for conveying user trust between parties in order to prevent fraud.<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: trusttokens<br />
* Additional speakers/panelists: [[User:Kleber|Michael Kleber]]<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== OpenJS Foundation Collaboration ===<br />
* Proposer: [[User:Jburson|Jordana Burson]] ([[User talk:Jburson|talk]]) 14:28, 28 August 2019 (UTC)<br />
* Email address of proposer: jory@bocoup.com<br />
* Summary (one-sentence or so): Members of the OpenJS Foundation cross project council would like to propose a 'BoF' conversation about how to build and strengthen healthy collaborations between foundation projects and W3C groups.<br />
* Type of session: open discussion<br />
* Goals: Discuss efforts underway in the foundation to recruit participation from our project communities into various W3C efforts. Discuss opportunities for cross-org collaboration. Highlight areas where OpenJSF projects would be additive to W3C. <br />
* [optional] shortname (used for minting an IRC channel for the breakout): openjs<br />
* [optional] Additional speakers/panelists: Christian Bromann, Brian Kardell, Dan Appelquist, Tobie Langel<br />
* [optional] Timing constraint: (e.g. you expect to invite someone in a different time zone): none<br />
* [optional] Estimated room capacity: {big | medium | small} room: small<br />
<br />
=== Supporting privacy-focused ads selection ===<br />
* Proposer: [[User:Kleber|Michael Kleber]] ([[User talk:Kleber|talk]]) 00:40, 29 August 2019 (UTC)<br />
* Email address of the proposer: kleber@google.com<br />
* Summary: Discussion of various ideas for how browsers could support ad selection use cases which today rely on users having a consistent cross-site identity. Chrome has explainers out for [https://github.com/jkarlin/floc "Federated Learning of Cohorts" (FLoC)] and [https://github.com/michaelkleber/pigin "Private Interest Groups, Including Noise (PIGIN)"].<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: adselection<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== XR Accessibility ===<br />
* Proposer: [[User:Joconnor|Joshue O Connor]] ([[User talk:Joconnor|talk]]) 14:11, 29 August 2019 (UTC)Joshue O Connor<br />
* Email address: joconnor@w3.org<br />
* Summary: Explore how to grow a broader accessibility community in the areas of XR (Virtual and Augmented Reality).<br />
* Type of session: Talk and Open Discussion <br />
* Goals: Figure out how to bring together the accessibility community to build capability, collaboration and community engagement in developing standards that address the challenges of making Virtual and Augmented Reality accessible. <br />
* Shortname: xra11y<br />
* Additional speakers/panelists: TBD<br />
* Estimated room capacity: medium room<br />
<br />
=== Standardizing user activation behavior ===<br />
* Proposer: [[User:Mustaq|Mustaq Ahmed]] ([[User talk:Mustaq|talk]]) 14:15, 29 August 2019 (UTC)<br />
* Email address of proposer: mustaq@google.com<br />
* Summary: We are proposing to replace the user activation model implied by the current HTML spec with a simple-to-implement model because the current model doesn't reflect the reality (https://github.com/whatwg/html/issues/1903).<br />
* Type of session: Open discussion<br />
* Goals: Trying to reach consensus on our proposed change to the spec (https://github.com/whatwg/html/pull/3851).<br />
* shortname: user-activation<br />
* Additional speakers/panelists: Domenic Denicola<br />
* Timing constraint: Pacific Time Zone friendly if possible, for remote participation.<br />
* Estimated room capacity: medium<br />
<br />
=== WebCodecs ===<br />
* Proposer: [[User:Pthatcher|Peter Thatcher]] ([[User talk:Pthatcher|talk]]) 01:04, 30 August 2019 (UTC) <br />
* Email address of proposer: pthatcher@google.com<br />
* Summary: Discuss WebCodecs (https://discourse.wicg.io/t/webcodecs-proposal/3662)<br />
* Type of session: short talk (maybe demo too) & discussion<br />
* Goals: Get input from potential users of the API to see what use cases we need to make sure are well supported, as well as from experts of codecs. <br />
* Shortname: webcodecs<br />
* Estimated room capacity: small room<br />
* Interested:<br />
** [[User:Halvestr|Harald Alvestrand]] ([[User talk:Halvestr|talk]]) 12:02, 12 September 2019 (UTC)<br />
** [[User:Ricea|Adam Rice]] ([[User talk:Ricea|talk]]) 09:06, 16 September 2019 (UTC)<br />
<br />
=== Bullet Chatting ===<br />
* Proposer: [[User:Song Xu|Song Xu]] ([[User talk:Song Xu|talk]]) <br />
* Email address of proposer: xusong@migu.cn<br />
* Summary: Introduce what Bullet Chatting is, and introduce the Bullet Chatting [https://w3c.github.io/danmaku/index_en.html proposal] drafted by W3C Chinese Interest Group. Discuss the way forward for Bullet Chatting standardization in W3C.<br />
* Type of session: talk & discussion<br />
* Goals: Help the global web community to better understand Bullet Chatting and the value of its standardization, and looking for teams interested in Bullet Chatting standardization, hoping to get some feedback and support, and get advice about what the W3C workflow. <br />
* Shortname: bulletchat<br />
* Estimated room capacity: small room (note: polycom to support remote attendees if possible)<br />
<br />
=== Efficient audio/video processing ===<br />
* Proposer: François Daoust / Dominique Hazaël-Massieux / 02 September 2019<br />
* Email address of proposer: fd@w3.org, dom@w3.org<br />
* Summary: W3C groups (e.g. WebRTC WG, Machine Learning for the Web CG, Audio WG, Media WG, Immersive Web WG) discuss, develop and/or dream about ways to process audio/video streams efficiently. Use cases include barcode reading, face/gesture tracking, emotion analysis, funny hats, background removal or blurring, augmented reality, video overlays, voice effects, or custom codecs. Would it be useful and possible to develop a common mechanism that different APIs could leverage to hook together with streams of media while avoiding useless memory copies? What could such a mechanism look like?<br />
* Type of session: open discussion<br />
* Goals: Look at use cases and at how they can be implemented today, assess possible performance gains if they were implemented with a more efficient mechanism, refine scope for possible work on the topic, and gauge interest among parties.<br />
* Additional speakers/panelists: Rijubrata Bhaumik, Paul Adenot, Peter Thatcher, Joshue O Connor<br />
* Shortname: mediaprocessing<br />
* Estimated room capacity: medium<br />
* Interested:<br />
** [[User:Halvestr|Harald Alvestrand]] ([[User talk:Halvestr|talk]]) 12:03, 12 September 2019 (UTC)<br />
<br />
=== HTML 3D Element & Native GLTF ===<br />
* Proposer: [[User:zyu5|Zhiqiang Yu]], [[User:sushraja| Sushanth Rajasankar]]<br />
* Email address: yuzhiqiang5@huawei.com, sushraja@microsoft.com<br />
* Summary: A proposal on HTML 3D element to bring rich 3D & AR experience to Web with a single line of code. Use cases include on-line shopping, creative advertisement, education, etc. Another related idea is for a scene element proposal https://github.com/immersive-web/proposals/issues/52. Demo prototypes will be provided.<br />
* Type of session: short talk & discussion<br />
* Goals: Gauge developer interest in native 3D support in HTML (similar to image/audio/video tag) and looking forward to a wider collaboration with the community, as well as standardization in W3C.<br />
* shortname: HTML-3D<br />
* Estimated room capacity: medium room<br />
<br />
=== Voice assistants - opportunities for standardization? ===<br />
* Proposer: [[User:Philarcher|Phil Archer, GS1]] ([[User talk:Philarcher|talk]]) 09:28, 3 September 2019 (UTC)<br />
* Email address of proposer: phil.archer@gs1.org<br />
* Summary (one-sentence or so): Voice assistants present exciting new methods to interact with the Web but how can/should we develop standards that benefit all stake holders from start ups to tech giants? <br />
* Type of session: Discussion<br />
* Goals: To identify parties most interested in the generic area of voice interaction and to narrow that down to a set of more specific areas of interest. E-commerce? Fact checking? Media streaming? APIs for Skills, More ...<br />
* [optional] shortname: voice<br />
* [optional] Additional speakers/panelists: Léonie Watson, Mark Hakkinen<br />
* [optional] Estimated room capacity: small room<br />
<br />
=== Github tools and Bots to assist Chairing ===<br />
* Proposer: [[User:Adaroseedwards|Ada Rose Cannon]] ([[User talk:Adaroseedwards|talk]]) 10:19, 3 September 2019 (UTC)<br />
* Email address of proposer: ada@ada.is <br />
* Summary: I'm a lazy chair and have created bots and scripts to help me chair, this is to show some of the tools I use to help leverage Github's APIs to help chair. I would also be interested in other tools people use to automate some of their teams.<br />
* Type of session: Presentation + Discussion<br />
* Goals: Share tools used.<br />
* [optional] shortname: groupautomation<br />
* [optional] Estimated room capacity: small room<br />
<br />
=== WebAuthn network transport discussion ===<br />
* Proposer(s): James Barclay, [[User:Nmooney|Nick Mooney]] ([[User talk:Nmooney|talk]]) 17:02, 3 September 2019 (UTC)<br />
* Emails: {jbarclay,nmooney}@duosecurity.com<br />
* Summary: Discuss the development of a new network-based transport as an addition to the WebAuthn specification.<br />
* Type: talk, open discussion<br />
* Goals: motivate the need for a network-based WebAuthn transport, discuss how this might look as part of the specification, discuss phishing resistance and proximity<br />
* Shortname: #webauthnnetwork<br />
* Estimated room capacity: medium<br />
<br />
=== DID (Decentralized Identifier) Q&A ===<br />
* Proposer: [[User:Drummondreed|Drummond Reed]] ([[User talk:Drummondreed|talk]]) 17:53, 3 September 2019 (UTC)<br />
* Email address of proposer: drummond.reed@evernym.com<br />
* Summary: DIDs are a new form of cryptographically-verifiable identifier, and TPAC will host the first meeting of the new W3C DID WG. This is a chance to learn more about DIDs.<br />
* Type of session: open discussion<br />
* Goals: The primary goal is to answer questions about DIDs and help W3C members understand the market interest in this new type of identifier.<br />
* Shortname: #did<br />
* Additional speakers/panelists: Dan Burnett, Brent Zendel, Manu Sporny, Christopher Allen, Ken Ebert, Helen Garneau<br />
* Estimated room capacity: medium room (possibly large depending on level of interest)<br />
* Scheduling note: please try not to schedule at the same time as the session "A Non-Technical Discussion on DIDs and self-sovereign identity"<br />
<br />
=== UndoManager API ===<br />
* Proposer: [[User:Whsieh|Wenson Hsieh]] ([[User talk:Whsieh|talk]]) 20:28, 3 September 2019 (UTC)<br />
* Email address of proposer: wenson_hsieh@apple.com<br />
* Summary (one-sentence or so): The UndoManager API allows web applications to modify the platform undo stack, and scope undo stacks to elements. For more information, refer to the explainer here: https://github.com/whsieh/UndoManager as well as a draft of the spec here: https://rniwa.github.io/undo-api.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): talk, open discussion<br />
* Goals: Introduce a proposal for the UndoManager API, which allows web applications to modify and inspect the platform’s undo stack. This has implications for all types of web apps, with particular relevance to editing and productivity apps. We hope to establish context for the UndoManager API, demo a prototype of the API, and gain feedback for our proposal.<br />
* Shortname: undomanager<br />
* Additional speakers/panelists: Megan Gardner<br />
* Estimated room capacity: small room<br />
<br />
=== Linked Data Security ===<br />
* Proposer: [[User:Msporny|Manu Sporny]] ([[User talk:Msporny|talk]]) 22:11, 3 September 2019 (UTC)<br />
* Email address of proposer: msporny@digitalbazaar.com<br />
* Summary (one-sentence or so): Should we standardize: RDF Dataset Canonicalization, Linked Data Proofs, Linked Data Signatures, RSA2019Signature, Ed25519Signature, and if so, on what timeline?<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): open discussion<br />
* Goals: Determine if certain Linked Data Security technologies are ready for standardization.<br />
* [optional] ldsec<br />
* [optional] Additional speakers/panelists: Ivan Herman, Gregg Kellogg, Benjamin Young, Robert Sanderson<br />
* [optional] Timing constraint: Don't overlap with DID session<br />
* [optional] Estimated room capacity: small<br />
<br />
=== What is the Future of W3C ===<br />
* Proposer: [[Tantek]] (Mozilla, and former AB member) ([[User:Tantekelik|Tantek Çelik]] ([[User talk:Tantekelik|talk]]) 22:58, 3 September 2019 (UTC))<br />
* Email address of proposer: tantek@cs.stanford.edu<br />
* Summary: How should W3C evolve to better serve the web community? The AB and AC are discussing changes to its structure, but they need to hear from stakeholders about the mission and the structure designed to achieve it.<br />
* Type of session: open discussion<br />
* shortname: #future<br />
* Timing constraint: prefer Pacific Time Zone friendly time if possible for remote participation<br />
* Estimated room capacity: medium<br />
* Additional speakers/panelists: Travis Leithead (Microsoft, for Michael Champion who may participate remotely, former AB member), Chris Wilson (Google, AB member)<br />
* Goals: A discussion to understand the community's level of consensus on fundamental questions:<br />
** Mission – W3C’s traditional mission statement is “lead the web to its full potential”. Does the community believe W3C’s basic value proposition need updating, perhaps to focus on some combination of documenting how the web actually works, certifying which products comply with the consensus standards, and focusing on the most pressing challenges to the original vision?<br />
** Leadership – The founding Director is no longer involved with W3C’s day to day operations, but the “Director” has a key role in the process and governance. Would the community be more comfortable with finding another neutral person with considerable expertise who can commit the time to being Director, or delegating tasks such as adjudicating formal objections to some sort of elected council?<br />
** Staffing – What role or roles should the Team prioritize and focus on? Mechanics of consensus building, or technical guidance on solutions?<br />
* Interested:<br />
** [[User:Coralie|Coralie Mercier]] ([[User talk:Coralie|talk]]) 17:31, 4 September 2019 (UTC)<br />
** ...<br />
<br />
=== Web of Things PlugFest ===<br />
* Proposer: [[User:Ashimura|Kazuyuki Ashimura]] ([[User talk:Ashimura|talk]]) 17:21, 4 September 2019 (UTC)<br />
* Email address of proposer: ashimura@w3.org<br />
* Summary: The WoT-IG/WG would like to have its PlugFest demo at 13:30-14:30 to (1) present what kind of demos are included and (2) show actual demos which include various scenarios and combinations of devices/applications for IoT purposes.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Presentaton and Demo<br />
* Goals: Show what is done by the WoT WG/IG based on the WoT standards to all the TPAC attendees and encourage people to collaborate with the group (and join the group :). This time we'd like to show several different combinations of devices/applications and scenarios based on the WoT specifications. Please see also the [https://github.com/endouhhc/wot/blob/master/plugfest/2019-tpac-fukuoka/README.md PlugFest preparation page].<br />
* shortname: wot-pf<br />
* Timing constraint: 13:30-14:30<br />
* Estimated room capacity: big room<br />
<br />
=== Introduction to W3C ===<br />
* Proposer: [[User:Plehegar|Philippe Le Hégaret]] ([[User talk:Plehegar|talk]]) 20:12, 4 September 2019 (UTC)<br />
* Email address of proposer: plh@w3.org<br />
* Summary: If you're a new Group participant in the W3C, this session will guide you through the W3C labyrinth and allow you to contribute to the Web<br />
* Type of session: talk, tutorial, open discussion<br />
* Goals: Make sure attendees are up-to-speed on how to participate in their Groups, get familiar with various documentations and tools used by W3C, including GitHub.<br />
* shortname: #w3c-intro<br />
* Timing constraint: none<br />
* Estimated room capacity: small room<br />
<br />
=== Standardizing 360 video ===<br />
* Proposer: [[User:SamiraAtMicrosoft|Samira Hirji]] ([[User talk:SamiraAtMicrosoft|talk]])<br />
* Email address of proposer: Samira.Hirji@microsoft.com<br />
* Type of session: open discussion<br />
* Goals: Bring awareness to current challenges of playing spherical video content and discuss options for standardizing.<br />
* shortname: #360video<br />
* Timing constraint: none<br />
* Estimated room capacity: small room<br />
<br />
=== For a More Capable Web—Project Fugu === <br />
* Proposer: [[User:Tsteiner|Thomas Steiner]] ([[User_talk:Tsteiner|talk]]), [[User:Akostiai|Anssi Kostiainen]] ([[User talk:Akostiai|talk]]), John Jansen<br />
* Email addresses of proposers: tomac@google.com, anssi.kostiainen@intel.com, john.jansen@microsoft.com<br />
* Summary: To remain relevant with native/hybrid/mini apps, web apps, too, need access to a comparable set of APIs. In this session, we briefly touch upon the APIs being worked on by the cross-company Capabilities Project (aka. Project Fugu), and then open the floor for an open discussion on why we see the browser-accessible web in danger if we don’t move it forward now, despite all fully acknowledged challenges around privacy, security, and compatibility.<br />
* Type of session: Open discussion<br />
* Goals: The session strives to explain our sense of urgency for keeping the web an attractive application platform given fierce competition. The main objective is building an understanding of the arguments of multiple sides: those who argue the web can’t compete if it’s not equally capable, and those who argue this is not an option for reasons including, but not limited to, privacy or security.<br />
* Shortname: capable-web<br />
* Estimated room capacity: medium room<br />
<br />
=== A Non-Technical Discussion on Decentralized Identifier (DIDs) & Self-Sovereign Identity (SSI) ===<br />
* Proposer: [[User:Hgarneau|Helen Garneau]] ([[User talk:Hgarneau|talk]]) 16:48, 6 September 2019 (UTC)Hgarneau<br />
* Email address of proposer: Helen Garneau | helen@sovrin.org<br />
* Summary (one-sentence or so): DIDs are disruptive new technology possessing the possibility to overturn the status quo of data exchange across all industry verticals. But how do we explain this to policy makers, budget decision makers, and customers? Let's discuss how to bring this tech into the non-tech narrative. <br />
* Type of session: open discussion<br />
* Goals: The primary goal is to have a non-technical discussion about DIDs and prepare W3C members with the messaging they need to make the case publicly for this new type of identifier.<br />
* Shortname: #didtalk<br />
* Additional speakers/panelists: Drummond Reed, Ken Ebert<br />
* Estimated room capacity: medium room<br />
* Scheduling note: Please don't schedule at same time as DID Q&A session.<br />
<br />
=== JSON-LD 1.1 Update ===<br />
* Proposer: [[User:Gkellogg|Gregg Kellogg]] ([[User talk:Gkellogg|talk]]) 17:07, 6 September 2019 (UTC)<br />
* Email address of proposer: gregg@greggkellogg.net<br />
* Summary (one-sentence or so): Update on JSON-LD since the 1.0 recommendation, focusing on new features.<br />
* Slides: http://json-ld.org/presentations/JSON-LD-Update-TPAC-2019/.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): talk<br />
* Goals: The goal is to give users of JSON-LD 1.0 an update on features in the forthcoming JSON-LD 1.1 release, and what the impact on publishing and processing documents may be.<br />
* IRC #json-ld<br />
* Estimated room capacity: small room<br />
<br />
=== Introducing: Audiobooks! ===<br />
* Proposer: [[User:Wendyreid|Wendy Reid]] ([[User talk:Wendyreid|talk]]) 19:58, 6 September 2019 (UTC)<br />
* Email address of proposer: wendy.reid@rakuten.com<br />
* Summary (one-sentence or so): Introducing the work of the Publishing Working Group on our Audiobooks specification. If you're interested in audiobooks, podcasts, or just publishing, come join us. <br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Talk with discussion<br />
* Goals: Introduce the W3C to the work of the Publishing Working Group, get more feedback on our efforts, raise awareness. <br />
* [optional] #pwg-audio (this channel exists already)<br />
* [optional] Estimated room capacity: small room<br />
<br />
=== Digital Transformation, the Sentient Web and Cognitive Agents ===<br />
* Proposer: [[User:dsr|Dave Raggett]] ([https://www.w3.org/Data/events/tpac2019/digital-transformation.pdf talk])<br />
* Email address of proposer: dsr@w3.org<br />
* Summary: Framing the aims and challenges for the <em title="The adoption of advanced digital technologies to enable businesses to become more efficient, more flexible and more nimble in respect to changing business needs.">Digital Transformation of industry</em>, the emergence of the <em title="Ecosystems of services involving awareness based upon sensor data and reasoning based upon graph data and rules together with AI/ML.">Sentient Web</em> and new approaches to [https://www.w3.org/Data/demos/chunks/chunks.html cognitive agents] based upon decades of progress in Cognitive Psychology that pave the way for a new paradigm for AI, focusing on human oriented computing.<br />
* Type of session: Talk with discussion and demos<br />
* Goals: Introduce the W3C to opportunities for addressing Digital Transformation with graph data and rules, together with highly scalable graph algorithms and AI/ML<br />
* Shortname: #digital-transformation<br />
* Estimated room capacity: medium room<br />
* Interested:<br />
<br />
=== Process 2020 ===<br />
* Proposer: fantasai, plh, dsinger, [[User:Frivoal|Florian Rivoal]] ([[User talk:Frivoal|talk]]) 07:09, 9 September 2019 (UTC)<br />
* Email address of proposer: tpac@florian.rivoal.net<br />
* Summary: Discussion of Process2020 Proposals (continuous development, registries)<br />
* Type of session: open discussion<br />
* Goals: Get feedback from community and develop consensus on Process2020 proposals<br />
* shortname: #w3process<br />
* Estimated room capacity: big or medium room<br />
<br />
=== Building a Smartweb Powered by Blockchain ===<br />
* Proposer: [https://www.w3.org/users/116710 Rong Chen]<br />
* Email address of proposer: chenrong@elastos.org<br />
* Summary: A Smartweb has its own DIDs, browsers, micro-websites, and instant mini-apps; but has no explicit IP addresses, nor communication protocols, to prevent network attacks or 3rd party apps from stealing users data.<br />
* Type of session: talk & open discussion<br />
* Goals: Proposing a New Web that Runs Apps to the W3C<br />
* shortname: #smartweb<br />
* Additional speakers/panelists: [https://www.w3.org/users/116688 Yipeng Su], [https://www.w3.org/users/115515 Jingyu Niu]<br />
* Estimated room capacity: big room<br />
* Interested:<br />
<br />
=== Authentication by Communication Network ===<br />
* Proposer: Jia Qiang (Bill) <br />
* Email address of proposer: jiaqiang@chinamobile.com<br />
* Summary: Introduce what Telecom Authentication is, and introduce the security risks and solutions of Telecom Authentication, especially when using WEB, instead of client, to authenticate. <br />
* Type of session: talk & discussion<br />
* Goals: Introduce Telecom Authentication to the global web community, to help a better understanding of Telecom Authentication and how the Telecom Authentication is applied by telecom operators. From those teams who are interested in Telecom Authentication standardization, hope to share visions and experiences. Any advices is favourable. <br />
* Shortname: telecom-authn<br />
* Estimated room capacity: small room (with projector )<br />
<br />
=== A new approach to large DOM and virtual scrollers using rendersubtree ===<br />
* Proposer: [[User:Fergal|Fergal Daly]] ([[User talk:Fergal|talk]]) 09:25, 11 September 2019 (UTC)<br />
* Email address of proposer: fergal@chromium.org<br />
* Summary: Describe our work on using [https://github.com/WICG/display-locking display locking/rendersubtree] to prototype the [https://github.com/WICG/virtual-scroller virtual-scroller custom element] that allows large amounts of content to be present in the DOM without causing performance problems (the name may change since it's not actually JSON-DOM virtualization). This is in contrast to traditional virtualization which achieves performance by keeping most of the content outside of the DOM. By keeping content in the DOM, we retain accessibility, indexability and in-page find.<br />
* Type of session: talk & discussion<br />
* Goals: Raise awareness and start discussion about this problem and solution. Demonstrate a use of rendersubtree.<br />
* Shortname: virtual-scroller<br />
* Estimated room capacity: medium room (with projector)<br />
* Additional speakers/panelists: chrishtr@chromium.org, domenic@chromium.org, rakina@chromium.org, vmpstr@chromium.org<br />
<br />
=== WebRTC Insertable Streaming Codecs ===<br />
Moved to "efficient audio/video processing" breakout<br />
<br />
=== Registries at the W3C ===<br />
* Proposer: [[User:Dsinger2|David Singer]] ([[User talk:Dsinger2|talk]]) 16:56, 12 September 2019 (UTC)<br />
* Email address of proposer: singer@apple.com<br />
* Summary (one-sentence or so): Discuss the [https://www.w3.org/wiki/Registries proposals] for formalizing Registries at the W3C<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): discussion<br />
* Goals: connect with people/groups that need Registries, to explore how they could work with the proposed formalization<br />
* Shortname: #registries<br />
* Additional speakers/panelists: [[User:Frivoal|Florian Rivoal]], Elika Etemad<br />
* Estimated room capacity: medium? room<br />
<br />
=== Improving Spoken Presentation of Content ===<br />
* Proposer: [https://www.w3.org/users/35712 Mark Hakkinen] [https://www.w3.org/users/98332 Irfan Ali]<br />
* Email address of proposer: mhakkinen@ets.org <br />
* Summary (one-sentence or so): Assistive Technology users are just one beneficiary of improved spoken presentation of Web content. Learn about why this is important and emerging approaches from the [https://www.w3.org/WAI/pronunciation/ APA Pronunciation Task Force]. <br />
* Type of session: talk and open discussion <br />
* Goals: Raise awareness, exchange ideas, and encourage participation in the pronunciation task force.<br />
* shortname: #pronunciation<br />
* Additional speakers/panelists: TBD <br />
* [optional] Estimated room capacity: small room<br />
<br />
=== Personalization of Web Content ===<br />
* Proposer: [[User:Clapierre|Charles LaPierre]] ([[User talk:Clapierre|talk]]) 19:01, 12 September 2019 (UTC)<br />
* Email address of proposer: charlesl@benetech.org<br />
* Summary: People have very different needs. some people can not do numeric information, but others prefer numbers to words, some people with severe language disabilities use of symbols to represent words, but one of the main challenges is transforming content for these different needs. We are working on an extreme personalization standard that let people with cognitive and learning disabilities join the online community and share information and communicate across groups. Are there more use-cases and new user groups for this technology?<br />
Here are our [https://github.com/w3c/personalization-semantics/wiki/Use-cases Use Case Examples]. Here is a link to our [https://w3c.github.io/personalization-semantics/ latest working draft of our explainer document]<br />
* Type of session: Demo and open discussion <br />
* Goals: Find additional use cases, and see if we could be using a better mechanism. <br />
* shortname: #personalization<br />
* Additional speakers/panelists: Janina Sajka, Lisa Seeman<br />
* Timing constraint: Will try to include Lisa Seeman (UTC+2) possibly Steve Lee (UTC+1)<br />
* Estimated room capacity: small room<br />
<br />
=== WebRTC combined with IMS ===<br />
* Proposer: [[User:xiayefeng|Yefeng Xia]]<br />
* Email address: xiayefeng@chinamobile.com<br />
* Summary: A proposal on networking scheme for deploying WebRTC end-to-end real-time audio and video communication applications in SIP-based IMS network architecture.<br />
* Type of session: short talk & discussion<br />
* Goals: With the continuous improvement of WebRTC related standards and technologies, the combination of WebRTC technology and IMS will renew more vitality.<br />
* shortname: WebRTC & IMS<br />
* Estimated room capacity: small room<br />
<br />
=== Multiscreen/foldables ===<br />
* Proposer: [[User:dlibby|Daniel Libby]]<br />
* Email address: dlibby@microsoft.com<br />
* Summary: Discuss series of related proposals in the multiscreen/foldables area<br />
* Type of session: Discussion<br />
* Goals: Rationalize existing proposals to ensure we're on the same page for primitives that should be exposed to the Web.<br />
* shortname: #multiscreen<br />
* Estimated room capacity: small room<br />
<br />
=== Images on the Web ===<br />
* Proposer: [[User:CConcola|Cyril Concolato]]<br />
* Email address: cconcolato@netflix.com<br />
* Summary: discuss evolutions of image formats on the Web<br />
* type of session: open discussion<br />
* Goals: Discuss the growing overlap between video formats and codecs, and image formats and codecs (e.g. AV1 AVIF, HEVC HEIF, MIAF) and the consequences for browsers, content providers and users.<br />
* additional speakers/panelists: [[User:Dsinger2|David Singer]] <br />
* no specific timing constraint <br />
* room size: medium<br />
<br />
=== Spec Editing Infrastructure ===<br />
* Proposer: Tobie Langel<br />
* Email address: tobie@unlock.com<br />
* Summary: Open discussion about spec editing infrastructre: what we have (pr-preview, respec, specref, bikeshed, etc), what's missing and how to fund it<br />
* Type: discussion<br />
* additional speakers: Marcos Caceres, James Graham, Simon Pieters<br />
* room size: medium<br />
<br />
=== New Module types: JSON, CSS, HTML ===<br />
* Proposer: [[User:Daniec|Daniel Clark]] ([[User talk:Daniec|talk]]) 04:19, 16 September 2019 (UTC)<br />
* Email address of proposer: daniec@microsoft.com<br />
* Summary: Introduce JSON, CSS, and HTML modules and discuss open issues<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Talk followed by open discussion<br />
* Goals: Introduce and provide motivation for new JSON, CSS, and HTML module types. Share status of the proposals and implementations. Discuss open design questions.<br />
* Shortname: new-modules<br />
* Estimated room capacity: medium room<br />
<br />
=== web-platform-tests update & discussion ===<br />
* Proposer: [[User:Foolip|Philip Jägenstedt]] ([[User talk:Foolip|talk]]) 05:09, 16 September 2019 (UTC)<br />
* Email address of proposer: foolip@google.com<br />
* Summary: [https://github.com/web-platform-tests/wpt web-platform-tests] and [https://wpt.fyi/results/ wpt.fyi] are even better than last year. This session gives an update on what's improved, and we're looking for feedback on what you still need.<br />
* Type of session Short presentation, then open for discussion.<br />
* Goals: Highlight new capabilities of wpt and wpt.fyi, gather feedback about top pain points for users.<br />
* Shortname: wpt<br />
* Estimated room capacity: medium<br />
<br />
=== Edge Computing for the Web ===<br />
* Proposer: Dan Druta, Sudeep Divakaran, Song Xu<br />
* Email address of proposer: dd5826@att.com, sudeep.divakaran@intel.com, xusong@migu.cn<br />
* Summary: With advancements in edge compute, there is a paradigm shift that has a positive impact on applications architecture that can leverage capabilites like low latency.<br />
* Type of session Short presentation, then open for discussion.<br />
* Goals: identify opportunities for web APIs for Edge computing, capitalize on 5G features and look at challenges around security and privacy.<br />
* Shortname: edge-computing<br />
* Estimated room capacity: medium<br />
<br />
=== Introducing aria-virtualcontent ===<br />
* Proposer: [[User:rossen|Rossen Atanassov]] ([[User talk:rossen|talk]]) 05:14, 16 September 2019 (UTC)<br />
* Email address of proposer: ratan@microsoft.com<br />
* Summary: Introduce a method of making large virtualized content accessible.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Talk followed by open discussion<br />
* Goals: Introduce and provide motivation for new HTML attribute `aria-vistrualcontent`. Demonstrate what such capability enables. Share some early prototype feedback. Gather feedback and solicit implementer interest. <br />
* Shortname: aria-virtualcontent<br />
* Estimated room capacity: medium room<br />
<br />
=== Anti-Homograph-Attacks ===<br />
* Proposer: [[User:Yoshiroyoneya|Yoshiro Yoneya]] ([[User talk:Yoshiroyoneya|talk]]) 01:44, 17 September 2019 (UTC)<br />
* Email address of proposer: yoshiro.yoneya@jprs.co.jp<br />
* Summary: IDN homograph attack is widely used for phishing users to malicious web sites. There are several countermeasures for this attack, but they depend on Web applications' implementations. From the end users' perspective, countermeasures should be common between Web applications to get better user experience. Where is the right place to discuss such countermeasures?<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): talk and discussion<br />
* Goals: Get enough attraction of people to form community group and start working. <br />
* shortname: aha<br />
* Estimated room capacity: small room<br />
<br />
=== Getting text direction into RDF ===<br />
* Proposer: [[User:Charles|Charles &#39;chaals&#39; (McCathie) Nevile]] ([[User talk:Charles|talk]]) 04:51, 17 September 2019 (UTC)<br />
* Email address of proposer: charles.nevile@consensys.net<br />
* Summary (one-sentence or so): RDF text literals do not have direction information. For a small class of strings, this is a big problem. There have been discussions and proposals, and the goal is to frame the problem and find a way to move torward resolving it. See also [https://w3c.github.io/rdf-dir-literal/ rdf-dir-literal] document.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): discussion<br />
* Goals:<br />
* shortname rdf-dir-literal<br />
* [optional] Additional speakers/panelists:possibly Richard Ishida, Ivan Herman, Omar Alhaddad, Gregg Kellogg, Addison Philipps, ... <br />
* Atttending: Danbri<br />
* Timing constraint: (please don't clash with i18n, or mini-apps)<br />
* Estimated room capacity: small room</div>Gkellogghttps://www.w3.org/wiki/index.php?title=TPAC/2019/SessionIdeas&diff=110109TPAC/2019/SessionIdeas2019-09-06T17:08:27Z<p>Gkellogg: JSON-LD 1.1 update</p>
<hr />
<div>We encourage attendees to start brainstorming [[TPAC/2019]] Wednesday 18 September 2019 '''Technical Plenary Day''' Breakout sessions in advance of the meeting and until '''Tuesday 17 September 5 pm local time'''. <br />
<br />
See the [[TPAC/2019/FAQ | TPAC 2019 FAQ]] for more information. <br />
<br />
== How to use this page ==<br />
<br />
Please use this page to:<br />
<br />
* Propose sessions you wish you lead<br />
* Propose sessions you wish others to lead (it's a good idea to let them know ahead of time)<br />
* Indicate whether you plan to attend a session (helps with scheduling)<br />
* '''Please place new proposal at the bottom of this document'''<br />
<br />
== How to propose a session ==<br />
<br />
Please provide:<br />
<ul class="show_items"><br />
* session name (as a === subhead === )<br />
* session proposer (yourself, if so sign using 4 tildas; optional: name a desired session leader) and an email address<br />
* one sentence session summary<br />
* type of session: (e.g.: open discussion, talk, panel, etc.)<br />
* goals of session<br />
* additional speakers/panelists (to help reduce conflicts when one person is needed in more than one place)<br />
* any timing constraint you already know (e.g. you expect to invite someone in a different time zone)<br />
* if you can guess, whether you'll need a {big | medium | small} room (we can't guarantee you'll get it, however)<br />
* add an "Interested" bullet for people to sign up for sessions<br />
</ul><br />
<br />
== From an idea to a breakout ==<br />
<br />
<span style="color:#ff0000">'''The goal is to have a near-final breakout sessions schedule by the night before the plenary day (i.e. on Tuesday September 17 night), with only a few changes needed on the plenary day itself during the finalization phase at 09:45-10:30.</span><br />
<br />
This ensures a more inclusive process in how the breakout sessions are defined and scheduled (thus avoiding any mad scramble). An HTML and mobile-friendly filled-out session grid for the day’s breakout sessions will be generated by the Team. [[TPAC/2019/FAQ#How_does_the_agenda_get_built.3F|Read more in our FAQ]].<br />
<br />
== Proposed sessions ==<br />
<br />
=== EXAMPLE session with session name ===<br />
* Proposer: <nowiki>~~~~</nowiki> (Instruction: remove <nowiki><nowiki> and </nowiki></nowiki> around the tildas. Explanation: The 4 tildas will sign YOUR name and include a timestamp of your proposal.)<br />
* Email address of proposer: <br />
* Summary (one-sentence or so): <br />
* Type of session (e.g.: open discussion, talk, panel, etc.): <br />
* Goals:<br />
* [optional] shortname (used for minting an IRC channel for the breakout)<br />
* [optional] Additional speakers/panelists:<br />
* [optional] Timing constraint: (e.g. you expect to invite someone in a different time zone)<br />
* [optional] Estimated room capacity: {big | medium | small} room<br />
<br />
=== ReSpec - so many new features! ===<br />
* Proposer: Marcos Cáceres<br />
* Email address of proposer: mcaceres@mozilla.com <br />
* Summary (one-sentence or so): Covering all the exciting advancements we've made in the last year, including automatic cross references, smart citations, MDN integration, and more! <br />
* Type of session: talk and open discussion <br />
* Goals: Introduce Editors to new features. <br />
* shortname: #pub<br />
* Additional speakers/panelists: Sid Vishnoi, Kagami Sascha Rosylight <br />
* [optional] Estimated room capacity: medium room<br />
<br />
=== Japan Language Requirements Task Force: Evolving the JLReq document ===<br />
* Proposer: [[User:Nmccully|Nathaniel McCully]] ([[User talk:Nmccully|talk]]) 16:29, 2 August 2019 (UTC)<br />
* Email address: nmccully@adobe.com<br />
* Summary: Explanation of the JLReq v2 effort currently underway, and a glimpse into the roadmap of a v3, that seeks to serve the needs of developers of layout engines for modern, dynamic media that support high-quality Japanese layout<br />
* Type of session: talk<br />
* Goals: To inform that this is happening, and get more people interested in the issues of high-end Japanese typography and layout in the context of responsive modern digital media.<br />
<br />
=== Results from MDN Developer Survey ===<br />
* Proposer: [[User:Dom|Dominique Hazaël-Massieux]] ([[User talk:Dom|talk]]) 06:52, 5 August 2019 (UTC)<br />
* Email address: dom@w3.org<br />
* Summary: Meet the MDN Product Advisory Board and discuss how the results of the [https://hacks.mozilla.org/2019/07/mdn-web-developer-designer-survey/ MDN Developer Survey] can impact W3C's agenda<br />
* Type of session: short talk & discussion<br />
* Goals: Bring input to the MDN Product Advisory Board to see how MDN documentation can evolve to better meet the need from the W3C community; learn about the MDN Developer Survey and discuss what conclusions to draw from its results in terms of the W3C standardization agenda<br />
* Additional speakers/panelists: Kadir Topal, Dan Appelquist, Jory Burson, Travis Leithead, Joe Medley<br />
* shortname: mdn<br />
* Estimated room capacity: medium room<br />
<br />
=== Mini App Standardization ===<br />
* Proposer: [[User:laq|Angel Li]] 10:14, 14 August 2019 (UTC)<br />
* Email address: angelli.laq@alibaba-inc.com<br />
* Summary: Meet the major Mini App players, introduction of Mini App white paper drafted by W3C Chinese IG, discuss the way forward for Mini App Standardization in W3C<br />
* Type of session: short talk & discussion<br />
* Goals: help the global web community to better understand Mini App and the value of its standardization, find proper way to move forward in W3C<br />
* shortname: MiniApp<br />
* Estimated room capacity: medium room<br />
* Interested: [[User:Chris|Chris Lilley]] ([[User talk:Chris|talk]]) 13:54, 27 August 2019 (UTC)<br />
<br />
=== Web Packaging ===<br />
(Including Signed Exchanges and Bundles.)<br />
* Proposer: [[User:Jyasskin|Jeffrey Yasskin]] ([[User talk:Jyasskin|talk]]) 18:41, 14 August 2019 (UTC)<br />
* Email address of proposer: jyasskin@google.com<br />
* Summary (one-sentence or so): Discuss W3C feelings about the [Web Packaging proposal](https://github.com/WICG/webpackage).<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Short talk & discussion<br />
* Goals: Ensure everyone knows the state of the IETF discussion and the Chromium implementation; recruit collaborators; discover concerns and needed changes; get advice about what route through the W3C/WHATWG processes to follow.<br />
* [optional] shortname: wpack<br />
* [optional] Additional speakers/panelists: [[User:Kyasuda2|Kinuko Yasuda]]<br />
* [optional] Timing constraint: TBD<br />
* [optional] Estimated room capacity: medium room<br />
<br />
=== A target privacy threat model for the Web ===<br />
* Proposer: [[User:Jyasskin|Jeffrey Yasskin]] ([[User talk:Jyasskin|talk]]) 19:04, 14 August 2019 (UTC) (However, I'd love to have someone else lead this.)<br />
* Email address of proposer: jyasskin@google.com<br />
* Summary (one-sentence or so): Proposals for new features often encounter resistance from folks who want the Web Platform to defend its users' privacy better than it does today. This often surprises the authors of those proposals, who were designing against the Web's current, implicit, and weak privacy threat model. Making our privacy goals explicit could avoid those surprises and reduce the load on privacy reviewers.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Open discussion<br />
* Goals: Figure out whether there's interest in developing a target privacy threat model for the Web.<br />
* shortname: privthreatmodel<br />
* Additional speakers/panelists: [Your name here]<br />
* Timing constraint: <br />
: morning session would be preferable for East Coast remote attendees -- [[User:Npdoty|Nick Doty]] ([[User talk:Npdoty|talk]])<br />
* Estimated room capacity: large room --- with polycom to support remote attendees<br />
<br />
=== Next Generation TextTrackCue ===<br />
* Proposers: [[User:Ecarlson2|Eric Carlson]] ([[User talk:Ecarlson2|talk]]) 20:18, 15 August 2019 (UTC), [[User:Eoconnor|Theresa O'Connor]], [[User:PLemieux|Pierre-Anthony Lemieux]]<br />
* Email address of proposers: eric.carlson@apple.com,hober@apple.com,pal@sandflow.com<br />
* Summary: TextTrackCue enhancements for programmatic subtitle and caption presentation. We've been making progress since FOMS this past spring. Please see our FOMS slides for the basic idea: https://www.icloud.com/keynote/0GJUbJwWfA2i77M2JysKjj45w#Generic_Text_Cue_-_FOMS_2019<br />
* Type of session: talk and open discussion<br />
* Goals: Engage with browser engineers and media experts & gauge interest in pursuing this as new web API<br />
* shortname: textcueapi<br />
* Estimated room capacity: medium room (~20 people)<br />
<br />
=== JS Built-In Modules ===<br />
* Proposer: [[User:dcrousso|Devin Rousso]] ([[User talk:dcrousso|talk]]) 22:05, 15 August 2019 (UTC)<br />
* Email address of proposer: dcrousso@apple.com<br />
* Summary (one-sentence or so): introduction to the concept of JS Built-In Modules, as well as an overview of the currently proposed governance model<br />
* Type of session: talk<br />
* Goals: disseminate knowledge of JS Built-In modules to other hosts built on top of JavaScript (e.g. web browsers), and introduce the proposed governance model to potential stakeholders of additional JS Built-In Module namespaces (e.g. web:)<br />
* Additional speakers: Michael Saboff <msaboff@apple.com> (call-in TC39 proposal champion)<br />
* Timing constraint: friendly towards PST<br />
* Estimated room capacity: medium room<br />
<br />
=== WebTransport status and next steps ===<br />
* Proposer: Peter Thatcher<br />
* Email address of proposer: pthatcher@google.com<br />
* Summary (one-sentence or so): Discuss [https://github.com/WICG/web-transport WebTransport API] and next steps for a WG or CG<br />
* Type of session: short talk (maybe demo too) & discussion<br />
* Goals: Ensure everyone is up to date on the latest API, implementation status, and interaction with the IETF ([https://mailarchive.ietf.org/arch/browse/webtransport/ link to mailing list]; [https://tools.ietf.org/wg/dispatch/minutes link to DISPATCH minutes]); determine when and how we should create a WG or CG; discuss advanced API topics such as how best to use WHATWG streams, how to handle congestion control, and stream prioritization<br />
* Shortname: webtransport<br />
* Estimated room capacity: medium room<br />
<br />
=== Web stories ===<br />
* Proposer: [[User:Coralie|Coralie Mercier]] ([[User talk:Coralie|talk]]) 15:45, 20 August 2019 (UTC)<br />
* Email address of proposer: coralie@w3.org<br />
* Summary: Feedback and brainstorming for (re)introducing the Web Consortium to the public. The W3C Comm team wants to get background stories from our Members and community about how they were drawn to the Web (before the Web, or their first involvement with the Web). There is a path for how everyone in our community has come to the Web, what they see happening now and what they see in the future.<br />
* Type of session: open discussion<br />
* Goals: We want to gather stories in order to tell a compelling story to the public. W3C Comm team may use this as part of an upcoming crowdfunding campaign.<br />
* shortname: webstories<br />
* Estimated room capacity: medium room<br />
* Interested:<br />
** ...<br />
<br />
=== WebGPU ===<br />
* Proposer: Myles C. Maxfield<br />
* Email address of proposer: mmaxfield@apple.com<br />
* Summary (one-sentence or so): Update on the progress of WebGPU, and group discussion about future directions and what to focus on<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Talk and open discussion<br />
* Goals: Help people understand the direction that WebGPU is going, and get feedback from the broader community<br />
* [optional] shortname (used for minting an IRC channel for the breakout): webgpu<br />
* [optional] Additional speakers/panelists: Dean Jackson, anyone else in the CG<br />
* [optional] Estimated room capacity: medium room?<br />
<br />
=== DataCue and "Time marches on" in HTML ===<br />
* Proposers: [[User:chrisn|Chris Needham]] ([[User talk:chrisn|talk]]) 11:45, 22 August 2019 (UTC)<br />
* Email address of proposers: chris.needham@bbc.co.uk<br />
* Summary: The DataCue API for media-synchronised metadata and interactivity events is part of HTML5, but not implemented across all browsers, and existing implementations vary. There are also issues with the ''time marches on'' algorithm in HTML for triggering timed interactivity events<br />
* Type of session: talk and open discussion<br />
* Goals: To advance the DataCue API design between media experts and browser developers, and discuss how to improve synchronisation of media and associated content on the web<br />
* Shortname: #datacue<br />
* Timing constraint: Please avoid overlap with the Next Generation TextTrackCue breakout, as it's largely the same participants<br />
* Estimated room capacity: medium room<br />
<br />
=== Portals (status and next steps) ===<br />
* Proposer: [[User:Jbroman|Jeremy Roman]] ([[User talk:Jbroman|talk]]) 18:44, 22 August 2019 (UTC)<br />
* Email address of proposer: jbroman@google.com<br />
* Summary: Discuss Portals and next steps for a WG or CG. Portals allow for seamless navigation between different documents, same and cross origin, embedded or not. See hands-on article and WICG repository.<br />
* Type of session: short talk (possibly a few demos) followed by discussion<br />
* Goals: Ensure everyone is up to date on the latest proposed API, implementation status, use cases and interest from developers; determine what are the next steps, and concerns if any; discuss advanced API topics or use cases.<br />
* Shortname: portals<br />
* Estimated room capacity: medium room<br />
<br />
=== Ad Measurement and Privacy ===<br />
* Proposer: [[User:johnwilander|John Wilander]]<br />
* Email address of proposer: wilander@apple.com<br />
* Summary: We will discuss Apple's proposed and implemented [https://wicg.github.io/ad-click-attribution/index.html Private Click Measurement] and Google's proposed [https://github.com/csharrison/conversion-measurement-api Click Through Conversion Measurement].<br />
* Type of session: Open discussion <br />
* Goals: Discuss the open issue of fraud detection and what is required to ship this feature.<br />
* Estimated room capacity: Medium room<br />
<br />
=== Input for workers/worklets ===<br />
* Proposer: [[User:Nzolghadr|Navid Zolghadr]] ([[User talk:Nzolghadr|talk]]) 14:16, 26 August 2019 (UTC)<br />
* Email address of proposer: nzolghadr@chromium.org, majidvp@chromium.org<br />
* Summary: Towards exposing [https://wicg.github.io/input-for-workers input events to Workers and Worklets].<br />
* Type of session: Open discussion<br />
* Goals: Discuss use cases and implications, brainstorm the API<br />
* shortname: workerinput<br />
* Additional speakers/panelists: Majid Valipour<br />
* Estimated room capacity: medium<br />
<br />
=== Privacy Budget ===<br />
* Proposer [[User:Blassey|Brad Lassey]]<br />
* Email address of the proposer: lassey@google.com<br />
* Summary: Chrome proposed a [https://github.com/bslassey/privacy-budget "privacy budget"] to limit the ability for websites to fingerprint users. We's like to have a discussion around this proposal and its implications.<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: privacybudget<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== Trust Tokens ===<br />
* Proposer: [[User:blassey|Brad Lassey]]<br />
* Email address of the proposer: lassey@google.com<br />
* Summary: Cloudflare proposed the concept of the [https://privacypass.github.io/ Privacy Pass protocol] to avoid repeatedly showing captchas to Tor users and Chrome expanded on the idea to propose a more general purpose [https://github.com/dvorak42/trust-token-api Trust Token API] for conveying user trust between parties in order to prevent fraud.<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: trusttokens<br />
* Additional speakers/panelists: [[User:Kleber|Michael Kleber]]<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== OpenJS Foundation Collaboration ===<br />
* Proposer: [[User:Jburson|Jordana Burson]] ([[User talk:Jburson|talk]]) 14:28, 28 August 2019 (UTC)<br />
* Email address of proposer: jory@bocoup.com<br />
* Summary (one-sentence or so): Members of the OpenJS Foundation cross project council would like to propose a 'BoF' conversation about how to build and strengthen healthy collaborations between foundation projects and W3C groups.<br />
* Type of session: open discussion<br />
* Goals:<br />
* [optional] shortname (used for minting an IRC channel for the breakout)<br />
* [optional] Additional speakers/panelists: Myles Borins, Christian Bromann, Brian Kardell<br />
* [optional] Timing constraint: (e.g. you expect to invite someone in a different time zone): none<br />
* [optional] Estimated room capacity: {big | medium | small} room: small<br />
<br />
=== Supporting privacy-focused ads selection ===<br />
* Proposer: [[User:Kleber|Michael Kleber]] ([[User talk:Kleber|talk]]) 00:40, 29 August 2019 (UTC)<br />
* Email address of the proposer: kleber@google.com<br />
* Summary: Discussion of various ideas for how browsers could support ad selection use cases which today rely on users having a consistent cross-site identity. Chrome has explainers out for [https://github.com/jkarlin/floc "Federated Learning of Cohorts" (FLoC)] and [https://github.com/michaelkleber/pigin "Private Interest Groups, Including Noise (PIGIN)"].<br />
* Type of session: Open discussion<br />
* Goals: Determine interest level from implementers, discuss concerns.<br />
* Shortname: adselection<br />
* Estimated room capacity: medium<br />
* Interested:<br />
<br />
=== XR Accessibility ===<br />
* Proposer: [[User:Joconnor|Joshue O Connor]] ([[User talk:Joconnor|talk]]) 14:11, 29 August 2019 (UTC)Joshue O Connor<br />
* Email address: joconnor@w3.org<br />
* Summary: Explore how to grow a broader accessibility community in the areas of XR (Virtual and Augmented Reality).<br />
* Type of session: Talk and Open Discussion <br />
* Goals: Figure out how to bring together the accessibility community to build capability, collaboration and community engagement in developing standards that address the challenges of making Virtual and Augmented Reality accessible. <br />
* Shortname: xra11y<br />
* Additional speakers/panelists: TBD<br />
* Estimated room capacity: medium room<br />
<br />
=== Standardizing user activation behavior ===<br />
* Proposer: [[User:Mustaq|Mustaq Ahmed]] ([[User talk:Mustaq|talk]]) 14:15, 29 August 2019 (UTC)<br />
* Email address of proposer: mustaq@google.com<br />
* Summary: We are proposing to replace the user activation model implied by the current HTML spec with a simple-to-implement model because the current model doesn't reflect the reality (https://github.com/whatwg/html/issues/1903).<br />
* Type of session: Open discussion<br />
* Goals: Trying to reach consensus on our proposed change to the spec (https://github.com/whatwg/html/pull/3851).<br />
* shortname: user-activation<br />
* Additional speakers/panelists: Domenic Denicola<br />
* Timing constraint: Pacific Time Zone friendly if possible, for remote participation.<br />
* Estimated room capacity: medium<br />
<br />
=== WebCodecs ===<br />
* Proposer: [[User:Pthatcher|Peter Thatcher]] ([[User talk:Pthatcher|talk]]) 01:04, 30 August 2019 (UTC) <br />
* Email address of proposer: pthatcher@google.com<br />
* Summary: Discuss WebCodecs (https://discourse.wicg.io/t/webcodecs-proposal/3662)<br />
* Type of session: short talk (maybe demo too) & discussion<br />
* Goals: Get input from potential users of the API to see what use cases we need to make sure are well supported, as well as from experts of codecs. <br />
* Shortname: webcodecs<br />
* Estimated room capacity: small room<br />
<br />
=== Bullet Chatting ===<br />
* Proposer: [[User:Song Xu|Song Xu]] ([[User talk:Song Xu|talk]]) <br />
* Email address of proposer: xusong@migu.cn<br />
* Summary: Introduce what is the Bullet Chatting , and introduce the Bullet Chatting specification drafted by W3C Chinese Interest Group. Discuss the way forward for Bullet Chatting standardization in W3C.<br />
* Type of session: talk & discussion<br />
* Goals: Help the global web community to better understand Bullet Chatting and the value of its standardization, and looking for teams interested in Bullet Chatting standardization, hoping to get some feedback and support, and get advice about what the W3C workflow. <br />
* Shortname: bulletchat<br />
* Estimated room capacity: small room<br />
<br />
=== Efficient audio/video processing ===<br />
* Proposer: François Daoust / Dominique Hazaël-Massieux / 02 September 2019<br />
* Email address of proposer: fd@w3.org, dom@w3.org<br />
* Summary: W3C groups (e.g. WebRTC WG, Machine Learning for the Web CG, Audio WG, Media WG, Immersive Web WG) discuss, develop and/or dream about ways to process audio/video streams efficiently. Use cases include barcode reading, face/gesture tracking, emotion analysis, funny hats, background removal or blurring, augmented reality, video overlays, voice effects, or custom codecs. Would it be useful and possible to develop a common mechanism that different APIs could leverage to hook together with streams of media while avoiding useless memory copies? What could such a mechanism look like?<br />
* Type of session: open discussion<br />
* Goals: Look at use cases and at how they can be implemented today, assess possible performance gains if they were implemented with a more efficient mechanism, refine scope for possible work on the topic, and gauge interest among parties.<br />
* Additional speakers/panelists: Rijubrata Bhaumik, Paul Adenot, Peter Thatcher, Joshue O Connor<br />
* Shortname: mediaprocessing<br />
* Estimated room capacity: medium<br />
<br />
=== HTML 3D Element & Native GLTF ===<br />
* Proposer: [[User:zyu5|Zhiqiang Yu]], [[User:sushraja| Sushanth Rajasankar]]<br />
* Email address: yuzhiqiang5@huawei.com, sushraja@microsoft.com<br />
* Summary: A proposal on HTML 3D element to bring rich 3D & AR experience to Web with a single line of code. Use cases include on-line shopping, creative advertisement, education, etc. Another related idea is for a scene element proposal https://github.com/immersive-web/proposals/issues/52. Demo prototypes will be provided.<br />
* Type of session: short talk & discussion<br />
* Goals: Gauge developer interest in native 3D support in HTML (similar to image/audio/video tag) and looking forward to a wider collaboration with the community, as well as standardization in W3C.<br />
* shortname: HTML 3D<br />
* Estimated room capacity: medium room<br />
<br />
=== Voice assistants - opportunities for standardization? ===<br />
* Proposer: [[User:Philarcher|Phil Archer, GS1]] ([[User talk:Philarcher|talk]]) 09:28, 3 September 2019 (UTC)<br />
* Email address of proposer: phil.archer@gs1.org<br />
* Summary (one-sentence or so): Voice assistants present exciting new methods to interact with the Web but how can/should we develop standards that benefit all stake holders from start ups to tech giants? <br />
* Type of session: Discussion<br />
* Goals: To identify parties most interested in the generic area of voice interaction and to narrow that down to a set of more specific areas of interest. E-commerce? Fact checking? Media streaming? APIs for Skills, More ...<br />
* [optional] shortname: voice<br />
* [optional] Additional speakers/panelists: Léonie Watson, Mark Hakkinen<br />
* [optional] Estimated room capacity: small room<br />
<br />
=== Github tools and Bots to assist Chairing ===<br />
* Proposer: [[User:Adaroseedwards|Ada Rose Cannon]] ([[User talk:Adaroseedwards|talk]]) 10:19, 3 September 2019 (UTC)<br />
* Email address of proposer: ada@ada.is <br />
* Summary: I'm a lazy chair and have created bots and scripts to help me chair, this is to show some of the tools I use to help leverage Github's APIs to help chair. I would also be interested in other tools people use to automate some of their teams.<br />
* Type of session: Presentation + Discussion<br />
* Goals: Share tools used.<br />
* [optional] shortname: groupautomation<br />
* [optional] Estimated room capacity: small room<br />
<br />
=== WebAuthn network transport discussion ===<br />
* Proposer(s): James Barclay, [[User:Nmooney|Nick Mooney]] ([[User talk:Nmooney|talk]]) 17:02, 3 September 2019 (UTC)<br />
* Emails: {jbarclay,nmooney}@duosecurity.com<br />
* Summary: Discuss the development of a new network-based transport as an addition to the WebAuthn specification.<br />
* Type: talk, open discussion<br />
* Goals: motivate the need for a network-based WebAuthn transport, discuss how this might look as part of the specification, discuss phishing resistance and proximity<br />
* Shortname: #webauthnnetwork<br />
* Estimated room capacity: medium<br />
<br />
=== Q&A about DIDs (Decentralized Identifiers) ===<br />
* Proposer: [[User:Drummondreed|Drummond Reed]] ([[User talk:Drummondreed|talk]]) 17:53, 3 September 2019 (UTC)<br />
* Email address of proposer: drummond.reed@evernym.com<br />
* Summary (one-sentence or so): DIDs are a new form of cryptographically-verifiable identifier, and TPAC will host the first meeting of the (still not final) W3C DID WG. This is a chance to learn more about DIDs.<br />
* Type of session: open discussion<br />
* Goals: The primary goal is to answer questions about DIDs and help W3C members understand the market interest in this new type of identifier.<br />
* Shortname: #did<br />
* Additional speakers/panelists: Manu Sporny, Dan Burnett, Christopher Allen<br />
* Estimated room capacity: medium room<br />
<br />
=== UndoManager API ===<br />
* Proposer: [[User:Whsieh|Wenson Hsieh]] ([[User talk:Whsieh|talk]]) 20:28, 3 September 2019 (UTC)<br />
* Email address of proposer: wenson_hsieh@apple.com<br />
* Summary (one-sentence or so): The UndoManager API allows web applications to modify the platform undo stack, and scope undo stacks to elements.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): talk, open discussion<br />
* Goals: Introduce a proposal for the UndoManager API, which allows web applications to modify and inspect the platform’s undo stack. This has implications for all types of web apps, with particular relevance to editing and productivity apps. We hope to establish context for the UndoManager API, demo a prototype of the API, and gain feedback for our proposal.<br />
* Shortname: undomanager<br />
* Additional speakers/panelists: Megan Gardner<br />
* Estimated room capacity: small room<br />
<br />
=== Linked Data Security ===<br />
* Proposer: [[User:Msporny|Manu Sporny]] ([[User talk:Msporny|talk]]) 22:11, 3 September 2019 (UTC)<br />
* Email address of proposer: msporny@digitalbazaar.com<br />
* Summary (one-sentence or so): Should we standardize: RDF Dataset Canonicalization, Linked Data Proofs, Linked Data Signatures, RSA2019Signature, Ed25519Signature, and if so, on what timeline?<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): open discussion<br />
* Goals: Determine if certain Linked Data Security technologies are ready for standardization.<br />
* [optional] ldsec<br />
* [optional] Additional speakers/panelists: Ivan Herman, Gregg Kellogg, Benjamin Young, Robert Sanderson<br />
* [optional] Timing constraint: Don't overlap with DID session<br />
* [optional] Estimated room capacity: small<br />
<br />
=== What is the Future of W3C ===<br />
* Proposer: [[Tantek]] (Mozilla, and former AB member) ([[User:Tantekelik|Tantek Çelik]] ([[User talk:Tantekelik|talk]]) 22:58, 3 September 2019 (UTC))<br />
* Email address of proposer: tantek@cs.stanford.edu<br />
* Summary: How should W3C evolve to better serve the web community? The AB and AC are discussing changes to its structure, but they need to hear from stakeholders about the mission and the structure designed to achieve it.<br />
* Type of session: open discussion<br />
* shortname: #future<br />
* Timing constraint: prefer Pacific Time Zone friendly time if possible for remote participation<br />
* Estimated room capacity: medium<br />
* Additional speakers/panelists: Michael Champion (Microsoft, possibly remote, former AB member), Chris Wilson (Google, AB member)<br />
* Goals: A discussion to understand the community's level of consensus on fundamental questions:<br />
** Mission – W3C’s traditional mission statement is “lead the web to its full potential”. Does the community believe W3C’s basic value proposition need updating, perhaps to focus on some combination of documenting how the web actually works, certifying which products comply with the consensus standards, and focusing on the most pressing challenges to the original vision?<br />
** Leadership – The founding Director is no longer involved with W3C’s day to day operations, but the “Director” has a key role in the process and governance. Would the community be more comfortable with finding another neutral person with considerable expertise who can commit the time to being Director, or delegating tasks such as adjudicating formal objections to some sort of elected council?<br />
** Staffing – What role or roles should the Team prioritize and focus on? Mechanics of consensus building, or technical guidance on solutions?<br />
* Interested:<br />
** [[User:Coralie|Coralie Mercier]] ([[User talk:Coralie|talk]]) 17:31, 4 September 2019 (UTC)<br />
** ...<br />
<br />
=== Web of Things PlugFest ===<br />
* Proposer: [[User:Ashimura|Kazuyuki Ashimura]] ([[User talk:Ashimura|talk]]) 17:21, 4 September 2019 (UTC)<br />
* Email address of proposer: ashimura@w3.org<br />
* Summary: The WoT-IG/WG would like to have its PlugFest demo at 13:30-14:30 to (1) present what kind of demos are included and (2) show actual demos which include various scenarios and combinations of devices/applications for IoT purposes.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): Presentaton and Demo<br />
* Goals: Show what is done by the WoT WG/IG based on the WoT standards to all the TPAC attendees and encourage people to collaborate with the group (and join the group :). This time we'd like to show several different combinations of devices/applications and scenarios based on the WoT specifications. Please see also the [https://github.com/endouhhc/wot/blob/master/plugfest/2019-tpac-fukuoka/README.md PlugFest preparation page].<br />
* shortname: wot-pf<br />
* Timing constraint: 13:30-14:30<br />
* Estimated room capacity: big room<br />
<br />
=== Introduction to W3C ===<br />
* Proposer: [[User:Plehegar|Philippe Le Hégaret]] ([[User talk:Plehegar|talk]]) 20:12, 4 September 2019 (UTC)<br />
* Email address of proposer: plh@w3.org<br />
* Summary: If you're a new Group participant in the W3C, this session will guide you through the W3C labyrinth and allow you to contribute to the Web<br />
* Type of session: talk, tutorial, open discussion<br />
* Goals: Make sure attendees are up-to-speed on how to participate in their Groups, get familiar with various documentations and tools used by W3C, including GitHub.<br />
* shortname: #w3c-intro<br />
* Timing constraint: none<br />
* Estimated room capacity: small room<br />
<br />
=== Standardizing 360 video ===<br />
* Proposer: [[User:SamiraAtMicrosoft|Samira Hirji]] ([[User talk:SamiraAtMicrosoft|talk]])<br />
* Email address of proposer: Samira.Hirji@microsoft.com<br />
* Type of session: open discussion<br />
* Goals: Open discussion around standardizing 360 video.<br />
* shortname: #360video<br />
* Timing constraint: none<br />
* Estimated room capacity: small room<br />
<br />
=== For a More Capable Web—Project Fugu === <br />
* Proposer: [[User:Tsteiner|Thomas Steiner]] ([[User_talk:Tsteiner|talk]]), [[User:Akostiai|Anssi Kostiainen]] ([[User talk:Akostiai|talk]]), John Jansen<br />
* Email addresses of proposers: tomac@google.com, anssi.kostiainen@intel.com, john.jansen@microsoft.com<br />
* Summary: To remain relevant with native/hybrid/mini apps, web apps, too, need access to a comparable set of APIs. In this session, we briefly touch upon the APIs being worked on by the cross-company Capabilities Project (aka. Project Fugu), and then open the floor for an open discussion on why we see the browser-accessible web in danger if we don’t move it forward now, despite all fully acknowledged challenges around privacy, security, and compatibility.<br />
* Type of session: Open discussion<br />
* Goals: The session strives to explain our sense of urgency for keeping the web an attractive application platform given fierce competition. The main objective is building an understanding of the arguments of multiple sides: those who argue the web can’t compete if it’s not equally capable, and those who argue this is not an option for reasons including, but not limited to, privacy or security.<br />
* Shortname: capable-web<br />
* Estimated room capacity: medium room<br />
<br />
=== A Non-Technical Discussion on DIDs & self-sovereign identity ===<br />
* Proposer: [[User:Hgarneau|Helen Garneau]] ([[User talk:Hgarneau|talk]]) 16:48, 6 September 2019 (UTC)Hgarneau<br />
* Email address of proposer: Helen Garneau | helen@sovrin.org<br />
* Summary (one-sentence or so): DID technology is the revolutionary and disruptive technology possessing the possibility to completely overturn the status quo of data exchange across all industry verticals. But how do we explain this to policy makers, budget decision makers, and customers? Let's discuss how to bring this tech into the non-tech narrative. <br />
* Type of session: open discussion<br />
* Goals: The primary goal is to have a non-technical discussion about DIDs and prepare W3C members with the messaging they need to make the case publicly for this new type of identifier.<br />
* Shortname: #didtalk<br />
* Additional speakers/panelists: Drummond Reed, Ken Ebert<br />
* Estimated room capacity: medium room<br />
<br />
=== JSON-LD 1.1 Update ===<br />
* Proposer: [[User:Gkellogg|Gregg Kellogg]] ([[User talk:Gkellogg|talk]]) 17:07, 6 September 2019 (UTC)<br />
* Email address of proposer: gregg@greggkellogg.net<br />
* Summary (one-sentence or so): Update on JSON-LD since the 1.0 recommendation, focusing on new features.<br />
* Type of session (e.g.: open discussion, talk, panel, etc.): talk<br />
* Goals: The goal is to give users of JSON-LD 1.0 an update on features in the forthcoming JSON-LD 1.1 release, and what the impact on publishing and processing documents may be.<br />
* [optional] #json-ld<br />
* [optional] Estimated room capacity: small room</div>Gkellogghttps://www.w3.org/wiki/index.php?title=TPAC/2017&diff=105144TPAC/20172017-11-09T01:10:43Z<p>Gkellogg: Slides for JSON-LD session</p>
<hr />
<div>__TOC__<br />
<br />
<div class="h-event"><br />
'''<dfn span class="p-name">[http://www.w3.org/2017/11/TPAC/ TPAC2017]</dfn>''' takes place <time class="dt-start" datetime="2017-11-06">2017-11-06</time>…<time class="dt-end" datetime="2017-11-10">10</time> M-F in <span class="p-location h-card"><span class="p-name p-org">Hyatt Regency San Francisco Airport</span>, <span class="p-locality">Burlingame</span>, <abbr class="p-region" title="California">CA</abbr>, <abbr class="p-country-name" title="United States of America">USA</abbr> which is <span class="p-note">very close to SFO airport</span>.</span><br />
</div><br />
* See '''[[TPAC]]''' for previous past TPACs.<br />
<br />
== TPAC Venue and Burlingame ==<br />
* [https://www.w3.org/2017/11/TPAC/#venue Venue and Hotels - Hyatt Regency San Francisco Airport]<br />
* [https://www.w3.org/2017/11/TPAC/#transportation Transportation]<br />
<br />
== Wednesday Plenary Day ==<br />
<div class="h-event vevent"><br />
On <span class="dt-start" datetime="2017-11-08"><span class="value-title" title="2017-11-08">Wednesday, 8 November</span></span>, we hold a "<span class="p-name summary">Plenary Day.</span>" <span class="p-description description">As we did for [[TPAC/2016 | TPAC2016]], we organized most of the day as "camp-style" breakout sessions. We invite you to add to or comment on [https://www.w3.org/wiki/TPAC/2017/SessionIdeas Breakout session ideas]. The people at the meeting that day will build the Session Grid, drawing from ideas socialized in advance and new ideas proposed the day of the meeting.</span><br />
</div><br />
<br />
* Questions? See the [[TPAC/2017/FAQ | FAQ]].<br />
<br />
=== 8 November Plenary Day Schedule ===<br />
<br />
* Breakout sessions take place in [[TPAC/2017/FAQ#What_are_the_breakout_room_sizes.3F nearby rooms | these rooms]].<br />
<br />
<br />
<span style="color:#ff0000">Schedule:</span><br />
<div id="schedule"><br />
* ''08:00-08:30: Registration''<br />
* 08:30-08:45: '''[https://www.w3.org/2017/Talks/tpac-slides/plenary-jeff/ Welcome & Intro]''' - Jeff Jaffe<br />
* 08:45-09:15: '''[https://www.w3.org/2017/Talks/tpac-slides/plenary-project/ Improving how we do Web standards]''' - Philippe Le Hégaret (plh)<br />
* 09:15-09:30: '''[https://docs.google.com/presentation/d/1T2Xjqy-f99uxaiaW4WZoNWiFQoInoFYuNoneuRu9lO0/edit#slide=id.p Improving interop with web-platform-tests]''' - Philip Jägenstedt (foolip)<br />
* 09:30-10:30: '''Breakout preparation''' + '''last additions to [[TPAC/2017/SessionIdeas | Breakout session ideas]]''' (Tantek Çelik, Coralie Mercier, Xueyuan Jia)<br />
* ''10:00-11:00: Coffee break'' (*)<br />
* 11:00-12:00: '''Breakouts''' (see grid below)<br />
* ''12:00-14:00: Lunch'' <br />
* 13:00-14:00: '''Breakouts''' (see grid below)<br />
* 14:00-15:00: '''Breakouts''' (see grid below)<br />
* ''15:00-16:00: Coffee break'' (*)<br />
* 15:30-16:30: '''Breakouts''' (see grid below) and [https://www.w3.org/wiki/TPAC2017/Demos demos](**)<br />
* 16:30-18:00: '''Breakout reports''' (Tantek Çelik, Coralie Mercier, Xueyuan Jia)<br />
* ''18:30-21:30: Reception''<br />
<br />
(*) Coffee break overlap with Breakout preparation and Breakouts.<br><br />
(**) An opportunity to discover what other W3C groups are working on and how that works intersect with other Web technologies. This session will be scheduled during the last breakout slot of the day. <br />
</div><br />
<br />
<span style="color:#ff0000">Minutes of the day</span> will be available in [https://www.w3.org/2017/11/08-tpac-minutes.html https://www.w3.org/2017/11/08-tpac-minutes.html]<br />
<br />
=== Session Grid ===<br />
<br />
<br />
{| class="zebra"<br />
|-<br />
! Room (capacity u-shape + chairs at periphery) <br />
! 11:00-12:00<br />
! 13:00-14:00<br />
! 14:00-15:00<br />
! 15:30-16:30<br />
|-<br />
! Grand Peninsula F&G (60+25) <br />
|Respec Bikeshed - Marcos, Tab<br />
|<abbr title="Web of Things">WoT</abbr> Plugfest - Kajimoto<br />
|<abbr title="Web of Things">WoT</abbr> Plugfest - Kajimoto<br />
|Sonar, linting tool for the Web - Maris Catalin; #sonarwhal<br />
|-<br />
! Grand Peninsula B&C (45+30) <br />
|Polyfills, elements, APIs - Andrew Betts; #polyfills<br />
|Spatial navigation - Jihye Hong & Hyojin Song; [https://www.w3.org/2017/11/08-spatnav-irc #spatnav]<br />
|Device APIs: Bluetooth, USB, NFC, Sensors - Vincent Scheib; #device-api<br />
|Browser Extensions - Florian; #browserext; [https://www.w3.org/2017/11/08-browserext-minutes.html minutes]<br />
|-<br />
! Grand Peninsula E (35+20) <br />
|AR Pilot Project (OGC/W3C)<br />
|[https://developer.mozilla.org/en-US/docs/Web MDN] + W3C - MattC; #mdn+w3c ; [https://docs.google.com/document/d/19AIdw6T2l_3IkptkPCUMTnMpl8VVqW1mCr6o__KtHzI/edit#heading=h.z4104x6ybdfk notes]<br />
|Getting in the TAG or AB! - Natasha; [https://www.w3.org/2017/11/08-tagab-irc #tagab]<br />
|[3DS, Web Auth and Payment Request https://www.w3.org/2017/11/08-3ds-minutes.html] - Ian Jacobs; #3ds<br />
|-<br />
! Grand Peninsula A (35+20) <br />
| Web Platform-tests - Philip J.; #testing<br />
| Cross-Browser interoperability testing - Huib Kleinhout; #kife<br />
| ❤️ [https://www.w3.org/wiki/TPAC/2017/SessionIdeas#W3C_Stories W3C Stories] - Michael Smith; #stories Minutes: https://www.w3.org/2017/11/08-stories-minutes.html<br />
| Spatial Data on the Web IG - Linda vd Brink; #sdw <br />
|-<br />
! Sandpebble B (20+15) <br />
| PWET (Positive Work Environment TF, Code of Conduct) - Ann, Amy<br />
| /TR improvement - PLH; #tr; [https://www.w3.org/2017/11/08-tr-minutes.html notes]<br />
| Re-imaging Accessibility Guidelines - Jeanne Spellman; #silver<br />
| Offlining Documents - Tzviya Siegman<br />
|-<br />
! Sandpebble C (20+15) <br />
| Self-Sovereign Web - Manu; #ssweb<br />
| JSON-LD 1.1 Update - Gregg Kellogg; #jsonld [https://json-ld.org/presentations/JSON-LD-Update-TPAC-2017/index.html slides]<br />
| Decentralized Social Network/Games<br />
| Communications Accessibility - #comm<br />
|-<br />
! Sandpebble D (20+15) <br />
| Internationalization - R12n; #i18n<br />
| Subtitle Format Support of TextTrack; #texttrack; [https://www.w3.org/2017/11/08-texttrack-minutes.html minutes]<br />
| Server Proxy Cache Policy - taoqingqian01@baidu.com; #spcp<br />
| Art & Culture on the Web (Museums) - Angel; #art<br />
|-<br />
! Sandpebble E (20+15) <br />
| Improving Web Advertising - Liam Quin; #webadv<br />
| Merging of Web and Mobile APP - Max; [https://www.w3.org/2017/11/08-weex-minutes.html #weex]<br />
| QUIC Stats API - Arnaud Braud; #quicapi<br />
| Media and Entertainment IG - Chris Needham; #m+e [https://www.w3.org/2017/11/08-m+e-minutes.html minutes]<br />
|-<br />
! Harbour Room A (20+15) <br />
| Remove Sync XHR (Webcompat) - Huakai (Angelo); [https://www.w3.org/2017/11/08-syncxhr-irc #syncxhr]<br />
| Permissions & User Consent - Sam Weiler; [https://www.w3.org/2017/11/08-permissions-minutes.html #permissions]<br />
| HTTPS in Local Network - Tomoyuki Shimizu; [https://www.w3.org/2017/11/08-httpslocal-minutes.html #httpslocal]<br />
| Practices and Tooling for Web Data - Dave Raggett; #webdata [[Media:Web_data_standardisation.pdf|slides]] [https://www.w3.org/2017/11/08-webdata-minutes.html minutes]<br />
|-<br />
! Harbour Room B (20+15) <br />
| [https://www.w3.org/2017/11/08-iotpay-minutes.html IoT Security]; Michael McCool; #iotpay [https://www.w3.org/2017/11/08-iotpay-minutes.html minutes]<br />
| WebVR Testing - Nell Waliczek<br />
| Credibility "Fake News" on the Web - Sandro Hawke; #cred<br />
| Certificate based digital signature using Web Cryptography API - Hyungwook Lee<br />
|-<br />
! Cypress B <br />
| X<br />
| X<br />
| X<br />
| Technical Demos<br />
|-<br />
|}<br />
<br />
== Aggregated Summaries ==<br />
<br />
=== MDN and W3C ===<br />
{{:TPAC/2017/session-mdn-w3c-summary}}<br />
<br />
=== Breakout title ===<br />
<pre>Create breakout summary, e.g. https://www.w3.org/wiki/TPAC/2017/session-foo-summary<br />
Transclude here using syntax: {{:TPAC/2017/session-foo-summary}}</pre><br />
<br />
== Plan to be there ==<br />
* [[User:Tantekelik|Tantek Çelik]] ([[User talk:Tantekelik|talk]]) 19:26, 4 April 2017 (UTC)<br />
* [[User:Coralie|Coralie Mercier]] ([[User talk:Coralie|talk]]) 10:28, 14 June 2017 (UTC)<br />
* ...<br />
<br />
== See Also ==<br />
* Last year: [[TPAC/2016 | TPAC2016]]<br />
* [[TPAC]] - list of past TPACs</div>Gkellogghttps://www.w3.org/wiki/index.php?title=SparqlImplementations&diff=84096SparqlImplementations2015-05-12T23:51:07Z<p>Gkellogg: Ruby SPARQL::Client description</p>
<hr />
<div>__NOTOC__<br />
This page lists some implementations of [[SPARQL]], a query language and protocol<br />
for RDF acccess released by the W3C RDF Data Access Working Group - <br />
[http://www.w3.org/2001/sw/DataAccess/ DAWG].<br />
<br />
[http://www.w3.org/TR/rdf-sparql-query/ SPARQL query language spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-XMLres/ SPARQL XML results spec]<br />
<br />
[http://www.w3.org/2001/sw/DataAccess/tests/implementations SPARQL Implementation Survey]<br />
<br />
See [[DawgShows]] for online demos and services.<br />
<br />
== Client Side ==<br />
<br />
* [http://www.franz.com/agraph/gruff/ Gruff] provides a [http://www.franz.com/agraph/gruff/grufflab.lhtml Graphical Query View] which allows creating SPARQL and Prolog queries as diagrams of nodes and links. Group graph patterns such as UNION and OPTIONAL can be laid out as grouper boxes that can be nested to any level, with proper nesting maintained automatically. You can generate a visual graph from query results, showing the network of triples in the query results.<br />
* [http://rdf2go.semweb4j.org RDF2Go] Java Triple Store Abstraction Layer, adapters for Jena and Sesame - one RDF API, many stores<br />
* [http://cyparkler.monrai.com SPARQL Software] Monrai Cyparkler 1.0 is a software framework which implements a query factory for SPARQL and SeRQL<br />
* [http://cypher.monrai.com NLP Software for RDF & SPARQL] Monrai Cypher is a software program which generates the RDF graph and SPARQL/SeRQL query representation of a plain language input<br />
* [http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html SPARQL JavaScript Library], works with SPARQL/JSON-capable servers<br />
* [http://demo.openlinksw.com/sparql_demo/ OpenLink Virtuoso's Web based SPARQL Client], works with in-built or 3rd party SPARQL Query Services<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/ng4j/semwebclient Semantic Web Client Library], represents the complete Semantic Web as a single RDF graph and enables applications to query this global graph using SPARQL queries. Implemented in Java based on Jena.<br />
* [https://sourceforge.net/projects/sesamewinclient Sesame Windows Client], is an open-source desktop application for interacting with a Sesame 2 RDF server or SPARQL endpoints. SWC offers a graphical user interface that lets you administrate a Sesame server, do SPARQL queries, export, add and remove data. It works with Novell Mono on Unix. <br />
* [http://www.arielworks.net/works/codeyard/hercules Hercules - Ajax Object/Rdf mapper], works with SPARQL servers<br />
* [http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlClient.htm RAP's SPARQL Client Library] PHP library to query remote SPARQL endpoints.<br />
* [http://www.topbraidcomposer.com/ TopQuadrant's TopBraid Composer], is a complete standards-based platform for developing, testing and maintaining Semantic Web applications. Testing, consistency checking and debugging is supported by a bundled version of Pellet.<br />
* [http://sparql-wrapper.sourceforge.net/ SPARQL Python Wrapper] is a python implementation by Ivan Herman and others.<br />
* [http://code.google.com/p/pysparql/ pysparql] is a python client that originates in the above [[JavaScript]] library.<br />
* [http://www.ldodds.com/projects/twinkle/ Twinkle] is a simple GUI interface that wraps the ARQ SPARQL query engine. The tool should be useful both for people wanting to learn the SPARQL query language, as well as those doing Semantic Web development.<br />
* [http://pypi.python.org/pypi/Products.ZSPARQLMethod/ ZSPARQLMethod for Zope] SPARQL client written in python for the Zope application server. [https://svn.eionet.europa.eu/repositories/Zope/trunk/Products.ZSPARQLMethod/ Latest source code]<br />
* [http://pypi.python.org/pypi/eea.sparql eea.sparql for Plone] SPARQL client written in python for Plone CMS. [https://svn.eionet.europa.eu/repositories/Zope/trunk/eea.sparql/ Latest source code]<br />
* [http://www.easyrdf.org/ EasyRdf] provides a [http://www.easyrdf.org/docs/api/EasyRdf_Sparql_Client.html SPARQL Client] class for PHP.<br />
* [http://zoggy.github.io/ocaml-rdf/ OCaml-RDF] is an [http://www.ocaml.org OCaml] implementation of RDF graphs and Sparql.<br />
* [http://www.cognitum.eu/semantics/Tools/SparqlExcelTools.aspx Ontorion™ SPARQL Tools for Excel] developed by [http://www.cognitum.eu/ Cognitum] can be used to download knowledge from a SPARQL endpoint or from an Ontorion endpoint. It works with MS Excel 2010 and MS Excel 2013.<br />
* [https://rubygems.org/gems/sparql-client SPARQL::Client gem] is a client library for accessing SPARQL 1.1 Query and Update endpoints written in pure Ruby with a free and unencumbered public domain software license. Documentation available on [http://www.rubydoc.info/github/ruby-rdf/sparql-client GitHub].<br />
<br />
== Query Engines ==<br />
<br />
* [http://www.franz.com/agraph/allegrograph AllegroGraph] is a modern, high-performance, persistent RDF graph database. [http://en.wikipedia.org/wiki/AllegroGraph AllegroGraph] supports [http://www.franz.com/agraph/support/documentation/v4/sparql-reference.html SPARQL], [http://www.franz.com/agraph/support/documentation/v4/lisp-reference.html#ref-prolog RDFS++], and [http://www.franz.com/agraph/support/documentation/v4/reasoner-tutorial.html Prolog] reasoning from numerous client applications.<br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/ RDF API for PHP], esp [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlEngine.htm SPARQL support]; the new SPARQL engine in RAP V0.95 passes many DAWG test cases. <br />
* [http://openjena.org/ARQ/ ARQ] - Implements the SPARQL 1.1 Query Language and SPARQL 1.1 Update Language for [http://jena.sourceforge.net/ Jena] - License: Apache. Stable releases now part of the Jena distributions (binary, documentation) while continuing development releases as a separate system (code, documentation).<br />
* [http://www.joseki.org/ Joseki] - Implements the SPARQL protocol - License: Apache. Implements both HTTP and SOAP versions of the SPARQL protocol.<br />
* [http://www.openjena.org/ Fuseki] - Implements the SPARQL protocol and SPARQL Graph Update protocol - License: Apache.<br />
* [http://librdf.org/rasqal/ Rasqal] - Implements the SPARQL query language for Redland (C) - License: LGPL/GPL2/Apache2.0. [http://librdf.org/bindings/ Redland Bindings] provides interfaces to it in at least perl, php, python, ruby and others. [http://librdf.org/query Rasqal demo] using the perl interface. [http://sebastian.dietzold.de/archive/2005/03/02/sparqlTool.php PHP query demo]<br />
* [http://www.openrdf.org/ Sesame 2] - Implements the SPARQL query language and protocol in Java - License: BSD. <br />
* [http://www.w3.org/2000/10/swap/doc/cwm cwm] has a --sparql option and --sparqlServer mode sinde [http://lists.w3.org/Archives/Public/public-cwm-announce/2005JulSep/0000.html Cwm Release 1.1.0rc1] 11 Aug 2005<br />
* [http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/PythonLib-IH/Overview.html sparql-p], a SPARQL API in Python, distributed as part of [http://rdflib.net RDFLib], [http://rdflib.net/2005/09/10/rdflib-2.2.2/README/ version 2.2.2 and higher]. This is an updated version of an [http://dev.w3.org/cvsweb/~checkout~/2004/PythonLib-IH/Doc/sparqlDesc.html?rev=1.8 older version of sparql-p] which was a separate package on top of RDFLib. The separate version is now deprecated. An effort to include a parser of the SPARQL query language, with a mapping on sparql-p, has been [http://copia.ogbuji.net/blog/2006-06-23/rdf_query_apis_for_rdflib completed].<br />
* [http://sourceforge.net/projects/sparql4j/ SPARQL4J] SPARQL JDBC type 4 driver (Release 0.1 out) - License: Apache. See the [http://www.profium.com/news/2005/jan11_2005.html announcement] 2006-03-31<br />
* [http://rdfstore.sourceforge.net RDFStore] ([http://cvs.sourceforge.net/viewcvs.py/rdfstore/rdfstore/ CVS] 0.51) from [http://www.asemantics.com/ asemantics] - License: BSD. See also the SPARQL protocol [http://demo2.asemantics.com/rdfstore/sparql/ demo] and [http://demo.asemantics.com/zparqler/ Zparqler demo] and [http://demo.asemantics.com/zparqler/examples/index.html examples] <br />
* [http://kasei.us/code/rdf-query/ RDF::Query] perl module for querying Redland, RDF::Trine and RDF::Core models with SPARQL and RDQL. - License: Perl (Artistic/GPL). See [http://kasei.us/archives/categories/projects/rdf-query/ weblog updates] for the project status.<br />
* [http://www.holygoat.co.uk/projects/twinql/ Twinql] Common Lisp SPARQL processor by Richard Newman. License: TBD, probably BSDish. See also the [http://www.noctua.co.uk/sparql/ twinql demo]<br />
* [http://sourceforge.net/projects/sparql SPARQL Engine]. License: LGPL. See also the [http://sparql.sourceforge.net/design.html Design for SPARQL engine in Sesame] document. Plugs into [http://www.openrdf.org/ Sesame] and used in [http://taubz.for.net/code/semweb SemWeb .NET library].<br />
* [http://kaon2.semanticweb.org/ KAON2] OWL-DL and SWRL inference engine with SPARQL support.<br />
* [http://www.mindswap.org/2003/pellet Pellet] Complete OWL-DL inference engine with SPARQL support, including for non-distinguished variable. The [http://www.mindswap.org/2003/pellet/demo.shtml Web Demo] has some SPARQL examples.<br />
* [http://stardog.com Stardog] is a fast, commercial RDF database: SPARQL for queries; OWL for reasoning; pure Java for the Enterprise.<br />
* [http://wimmics.inria.fr/corese/ Corese] Corese stands for Conceptual Resource Search Engine. It provides RDF, RDFS, SPARQL 1.1 Query & Update, SPARQL Inference Rules. See [http://wimmics.inria.fr/corese/ discussion of SPARQL features and extensions supported]. open source license to java source and binaries.<br />
* [http://www.alphaworks.ibm.com/tech/semanticstk SOR] "is a high-performance OWL ontology storage, inference, and query system based on RDBMS (Relational Database Management Systems). This technology runs on Windows® and Linux®." "SPARQL specification (April 2006) has been implemented". Developed by IBM. Previously known as The Minerva.<br />
* [http://virtuoso.openlinksw.com/wiki/main/Main OpenLink Virtuoso] supports SPARQL, and SPARQL embedded in SQL, for querying RDF data stored in Virtuoso's Object-Relational Database. In Virtuoso, SPARQL benefits from low-level support in the core engine via features such as; SPARQL aware type casting rules and a dedicated IRI data type. The [http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDFWP Virtuoso RDF Triple Store] is the fastest developing functionality realm of Virtuoso at the current time. Virtuoso Open Source (license: GPL) and Commercial Editions (version 4.5.2) are now Available. <br />
* [http://ontotext.com/owlim Ontotext OWLIM] supports SPARQL and SeRQL. OWLIM is a triple storage with a built-in reasoner. It has a free edition called [http://ontotext.com/owlim/SwiftOWLIM-registration-form.html SwiftOWLIM].<br />
* [http://arc.semsol.org/ ARC] is "a flexible RDF system for semantic web and PHP practitioners" by [http://semsol.com/ semsol web semantics]. License: W3C Software License, [http://lists.w3.org/Archives/Public/semantic-web/2007Nov/0188.html new version (ARC2) announced on November 28, 2007].<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/ D2R Server], turns relational databases into SPARQL endpoints, implements the SPARQL query language and the SPARQL protocol, based on Joseki and ARQ.<br />
* [http://con.fusion.at/dlvhex/download.php dlvhex SPARQL-engine] A prototype SPARQL-plugin for the declarative logic programming engine [http://www.dlvsystem.com/ dlv]. Translates SPARQL to datalog rules. The generic translation, also applicable to other Datalog or logic programming engines is described in a detailed [http://www.polleres.net/publications/GIA-TR-2006-11-28.pdf Technical Report]<br />
* [http://www.openanzo.org/index.html Open Anzo] is "a server capable of storing millions of RDF triples in an underlying relational database (IBM DB/2, Oracle, MySQL, Postgres and Apache Derby are currently supported)". Features "Typed full-text search capabilities for text literals are supported through Glitter SPARQL queries". License: Eclipse Public License 1.0<br />
* [http://opensource.joost.com/libb/ Joost's Lib B]. "We have been developing a triple store called B". Donated to ASF inactive incubator project [http://incubator.apache.org/triplesoup/ TripleSoup] which aims to build "a SPARQL endpoint for httpd".<br />
* [http://hercules.arielworks.net/ Hercules] is a semantic web framework in JavaScript. It has a SAPRQL query engine implementation in pure JavaScript which is runnable on web browsers. Hercules is distributed on the public domain.<br />
* [http://4store.org/ 4store] is is a clustered database storage and query engine that holds RDF data. 4store's main strengths are its performance, scalability and stability. It does not provide many features over and above RDF storage and SPARQL queries. 4store is available under the GPLv3 license.<br />
* [http://www.springerlink.com/content/c126511h03gx3014/ The RDF-3X engine for scalable management of RDF data], VLDB Journal, 2010.<br />
* [http://www.strixDB.com/ StrixDB] is a RDF graph store, SPARQL compliant, with Lua API and Datalog inference capabilities. Could be used as httpd (Apache HTTP Server) module or standalone.<br />
* [http://www.ontoprise.de/en/home/products/ontobroker/ ontoprise OntoBroker] supports SPARQL (Query and Update) via Java API and REST endpoint in combination with the internal rule engine and data integration. License: Commercial.<br />
* [http://blog.dydra.com/2011/05/27/sp2b-benchmarks SPOCQ] is [http://dydra.com/ Dydra's] proprietary SPARQL 1.1 query engine, implemented in Common Lisp.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL2XQuery.html SPARQL2XQuery], allows setting SPARQL endpoints over XML data.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL-RW.html SPARQL-RW], provides transparent SPARQL query access over mapped RDF datasets.<br />
* [http://bitbucket.org/fundacionctic/su4j/wiki/endpoint su4j sparql endpoint]: a Jena-based servlet implementation of SPARQL query language and protocol<br />
* [http://www.bigdata.com/blog Bigdata(R)] Bigdata is an open-source, high-performance semantic web database platform supporting SPARQL, SPARQL 1.1, and RDFS+ inference. Deployment models are available for embedded applications, standalone server processes, highly available replicated clusters based on the standalone database platform, and a horizontally scaled "bigdata federated" using dynamic sharding to distributed the data over a cluster. The bigdata platform was created in 2006 and has been under continuous development since that time. Development is lead by SYSTAP, LLC. The platform is available under its open source license (GPLv2) or an evaluation license. Commercial licenses are available through SYSTAP, LLC and through a number of OEMs. Download at https://sourceforge.net/projects/bigdata/. See http://www.systap.com/bigdata.htm for more information about licensing. Support is available under both the open source and commercial license models.<br />
* The [https://rubygems.org/gems/sparql SPARQL gem] is a complete SPARQL 1.1 Query and Update implementation written in pure Ruby with a free and unencumbered public domain software license. Documentation available on [http://www.rubydoc.info/github/ruby-rdf/sparql GitHub] ([https://htmlpreview.github.com/?https://github.com/ruby-rdf/sparql/blob/develop/etc/earl.html Implementation Report]).<br />
<br />
== Grammars and Parsers for SPARQL ==<br />
<br />
* [http://jena.sourceforge.net/ARQ/ ARQ] - Contains a JavaCC grammar [http://cvs.sourceforge.net/viewcvs.py/*checkout*/jena/ARQ/Grammar/sparql.jj sparql.jj]<br />
* An ANTLRv3 fully compliant [http://www.antlr.org/grammar/1193765395834/sparql-1.0.tgz grammar] - See [http://www.antlr.org ANTLR]<br />
* [http://arc.semsol.org/docs/v2/misc/sparql_parsing ARC SPARQL Parser] - PHP parser for SPARQL by Benjamin Nowack. License: W3C Software License. Builds a structure representing the query from the syntax. Supports all SPARQL syntax features.<br />
* [http://rdflib.net RDFLib]'s [http://copia.ogbuji.net/blog/2005-04-27/Of_BisonGe BisonGen]-based [http://svn.rdflib.net/trunk/rdflib/sparql/bison/ parser] which is implemented as a Python/C extension which builds a library of SPARQL syntax objects.<br />
* [http://www.openrdf.org/ Sesame 2]'s SPARQL parser - contains a JJTree grammar [http://repo.aduna-software.org/websvn/filedetails.php?repname=aduna&path=%2Forg.openrdf%2Fsesame%2Fbranches%2F2.2%2Fcore%2Fqueryparser%2Fsparql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenrdf%2Fquery%2Fparser%2Fsparql%2Fast%2Fsparql.jjt sparql.jjt].<br />
* [http://www.logilab.org/project/fyzz Fyzz] a SPARQL parser written in pure python and licensed under the LGPL - some documentation in this [http://www.cubicweb.org/blogentry/344822 blog post].<br />
<br />
== SPARQL "Endpoints" ==<br />
<br />
These endpoints offer a URI with a SPARQL service that can be accessed using the [http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec], and return XML and/or JSON.<br />
<br />
* [[SparqlEndpoints|Collection of SPARQL Endpoints]]<br />
* [http://sparql.org/sparql SPARQLer] (see http://sparql.org for a description)<br />
* [http://demo.openlinksw.com/sparql/ OpenLink Virtuoso] (the SPARQL Query Service endpoint for our Live Demo Server). <br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://yasgui.laurensrietveld.nl YASGUI] (Yet Another Sparql Interface) Web application from which to query any other public SPARQL endpoint. Provides prefix autocompletion and sparql grammar checker. <br />
<br />
----<br />
[[Category:SwTools]]</div>Gkellogghttps://www.w3.org/wiki/index.php?title=SparqlImplementations&diff=84095SparqlImplementations2015-05-12T23:48:44Z<p>Gkellogg: Add reference to namespace and test suite</p>
<hr />
<div>__NOTOC__<br />
This page lists some implementations of [[SPARQL]], a query language and protocol<br />
for RDF acccess released by the W3C RDF Data Access Working Group - <br />
[http://www.w3.org/2001/sw/DataAccess/ DAWG].<br />
<br />
[http://www.w3.org/TR/rdf-sparql-query/ SPARQL query language spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-XMLres/ SPARQL XML results spec]<br />
<br />
[http://www.w3.org/2001/sw/DataAccess/tests/implementations SPARQL Implementation Survey]<br />
<br />
See [[DawgShows]] for online demos and services.<br />
<br />
== Client Side ==<br />
<br />
* [http://www.franz.com/agraph/gruff/ Gruff] provides a [http://www.franz.com/agraph/gruff/grufflab.lhtml Graphical Query View] which allows creating SPARQL and Prolog queries as diagrams of nodes and links. Group graph patterns such as UNION and OPTIONAL can be laid out as grouper boxes that can be nested to any level, with proper nesting maintained automatically. You can generate a visual graph from query results, showing the network of triples in the query results.<br />
* [http://rdf2go.semweb4j.org RDF2Go] Java Triple Store Abstraction Layer, adapters for Jena and Sesame - one RDF API, many stores<br />
* [http://cyparkler.monrai.com SPARQL Software] Monrai Cyparkler 1.0 is a software framework which implements a query factory for SPARQL and SeRQL<br />
* [http://cypher.monrai.com NLP Software for RDF & SPARQL] Monrai Cypher is a software program which generates the RDF graph and SPARQL/SeRQL query representation of a plain language input<br />
* [http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html SPARQL JavaScript Library], works with SPARQL/JSON-capable servers<br />
* [http://demo.openlinksw.com/sparql_demo/ OpenLink Virtuoso's Web based SPARQL Client], works with in-built or 3rd party SPARQL Query Services<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/ng4j/semwebclient Semantic Web Client Library], represents the complete Semantic Web as a single RDF graph and enables applications to query this global graph using SPARQL queries. Implemented in Java based on Jena.<br />
* [https://sourceforge.net/projects/sesamewinclient Sesame Windows Client], is an open-source desktop application for interacting with a Sesame 2 RDF server or SPARQL endpoints. SWC offers a graphical user interface that lets you administrate a Sesame server, do SPARQL queries, export, add and remove data. It works with Novell Mono on Unix. <br />
* [http://www.arielworks.net/works/codeyard/hercules Hercules - Ajax Object/Rdf mapper], works with SPARQL servers<br />
* [http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlClient.htm RAP's SPARQL Client Library] PHP library to query remote SPARQL endpoints.<br />
* [http://www.topbraidcomposer.com/ TopQuadrant's TopBraid Composer], is a complete standards-based platform for developing, testing and maintaining Semantic Web applications. Testing, consistency checking and debugging is supported by a bundled version of Pellet.<br />
* [http://sparql-wrapper.sourceforge.net/ SPARQL Python Wrapper] is a python implementation by Ivan Herman and others.<br />
* [http://code.google.com/p/pysparql/ pysparql] is a python client that originates in the above [[JavaScript]] library.<br />
* [http://www.ldodds.com/projects/twinkle/ Twinkle] is a simple GUI interface that wraps the ARQ SPARQL query engine. The tool should be useful both for people wanting to learn the SPARQL query language, as well as those doing Semantic Web development.<br />
* [http://pypi.python.org/pypi/Products.ZSPARQLMethod/ ZSPARQLMethod for Zope] SPARQL client written in python for the Zope application server. [https://svn.eionet.europa.eu/repositories/Zope/trunk/Products.ZSPARQLMethod/ Latest source code]<br />
* [http://pypi.python.org/pypi/eea.sparql eea.sparql for Plone] SPARQL client written in python for Plone CMS. [https://svn.eionet.europa.eu/repositories/Zope/trunk/eea.sparql/ Latest source code]<br />
* [http://www.easyrdf.org/ EasyRdf] provides a [http://www.easyrdf.org/docs/api/EasyRdf_Sparql_Client.html SPARQL Client] class for PHP.<br />
* [http://zoggy.github.io/ocaml-rdf/ OCaml-RDF] is an [http://www.ocaml.org OCaml] implementation of RDF graphs and Sparql.<br />
* [http://www.cognitum.eu/semantics/Tools/SparqlExcelTools.aspx Ontorion™ SPARQL Tools for Excel] developed by [http://www.cognitum.eu/ Cognitum] can be used to download knowledge from a SPARQL endpoint or from an Ontorion endpoint. It works with MS Excel 2010 and MS Excel 2013.<br />
<br />
== Query Engines ==<br />
<br />
* [http://www.franz.com/agraph/allegrograph AllegroGraph] is a modern, high-performance, persistent RDF graph database. [http://en.wikipedia.org/wiki/AllegroGraph AllegroGraph] supports [http://www.franz.com/agraph/support/documentation/v4/sparql-reference.html SPARQL], [http://www.franz.com/agraph/support/documentation/v4/lisp-reference.html#ref-prolog RDFS++], and [http://www.franz.com/agraph/support/documentation/v4/reasoner-tutorial.html Prolog] reasoning from numerous client applications.<br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/ RDF API for PHP], esp [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlEngine.htm SPARQL support]; the new SPARQL engine in RAP V0.95 passes many DAWG test cases. <br />
* [http://openjena.org/ARQ/ ARQ] - Implements the SPARQL 1.1 Query Language and SPARQL 1.1 Update Language for [http://jena.sourceforge.net/ Jena] - License: Apache. Stable releases now part of the Jena distributions (binary, documentation) while continuing development releases as a separate system (code, documentation).<br />
* [http://www.joseki.org/ Joseki] - Implements the SPARQL protocol - License: Apache. Implements both HTTP and SOAP versions of the SPARQL protocol.<br />
* [http://www.openjena.org/ Fuseki] - Implements the SPARQL protocol and SPARQL Graph Update protocol - License: Apache.<br />
* [http://librdf.org/rasqal/ Rasqal] - Implements the SPARQL query language for Redland (C) - License: LGPL/GPL2/Apache2.0. [http://librdf.org/bindings/ Redland Bindings] provides interfaces to it in at least perl, php, python, ruby and others. [http://librdf.org/query Rasqal demo] using the perl interface. [http://sebastian.dietzold.de/archive/2005/03/02/sparqlTool.php PHP query demo]<br />
* [http://www.openrdf.org/ Sesame 2] - Implements the SPARQL query language and protocol in Java - License: BSD. <br />
* [http://www.w3.org/2000/10/swap/doc/cwm cwm] has a --sparql option and --sparqlServer mode sinde [http://lists.w3.org/Archives/Public/public-cwm-announce/2005JulSep/0000.html Cwm Release 1.1.0rc1] 11 Aug 2005<br />
* [http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/PythonLib-IH/Overview.html sparql-p], a SPARQL API in Python, distributed as part of [http://rdflib.net RDFLib], [http://rdflib.net/2005/09/10/rdflib-2.2.2/README/ version 2.2.2 and higher]. This is an updated version of an [http://dev.w3.org/cvsweb/~checkout~/2004/PythonLib-IH/Doc/sparqlDesc.html?rev=1.8 older version of sparql-p] which was a separate package on top of RDFLib. The separate version is now deprecated. An effort to include a parser of the SPARQL query language, with a mapping on sparql-p, has been [http://copia.ogbuji.net/blog/2006-06-23/rdf_query_apis_for_rdflib completed].<br />
* [http://sourceforge.net/projects/sparql4j/ SPARQL4J] SPARQL JDBC type 4 driver (Release 0.1 out) - License: Apache. See the [http://www.profium.com/news/2005/jan11_2005.html announcement] 2006-03-31<br />
* [http://rdfstore.sourceforge.net RDFStore] ([http://cvs.sourceforge.net/viewcvs.py/rdfstore/rdfstore/ CVS] 0.51) from [http://www.asemantics.com/ asemantics] - License: BSD. See also the SPARQL protocol [http://demo2.asemantics.com/rdfstore/sparql/ demo] and [http://demo.asemantics.com/zparqler/ Zparqler demo] and [http://demo.asemantics.com/zparqler/examples/index.html examples] <br />
* [http://kasei.us/code/rdf-query/ RDF::Query] perl module for querying Redland, RDF::Trine and RDF::Core models with SPARQL and RDQL. - License: Perl (Artistic/GPL). See [http://kasei.us/archives/categories/projects/rdf-query/ weblog updates] for the project status.<br />
* [http://www.holygoat.co.uk/projects/twinql/ Twinql] Common Lisp SPARQL processor by Richard Newman. License: TBD, probably BSDish. See also the [http://www.noctua.co.uk/sparql/ twinql demo]<br />
* [http://sourceforge.net/projects/sparql SPARQL Engine]. License: LGPL. See also the [http://sparql.sourceforge.net/design.html Design for SPARQL engine in Sesame] document. Plugs into [http://www.openrdf.org/ Sesame] and used in [http://taubz.for.net/code/semweb SemWeb .NET library].<br />
* [http://kaon2.semanticweb.org/ KAON2] OWL-DL and SWRL inference engine with SPARQL support.<br />
* [http://www.mindswap.org/2003/pellet Pellet] Complete OWL-DL inference engine with SPARQL support, including for non-distinguished variable. The [http://www.mindswap.org/2003/pellet/demo.shtml Web Demo] has some SPARQL examples.<br />
* [http://stardog.com Stardog] is a fast, commercial RDF database: SPARQL for queries; OWL for reasoning; pure Java for the Enterprise.<br />
* [http://wimmics.inria.fr/corese/ Corese] Corese stands for Conceptual Resource Search Engine. It provides RDF, RDFS, SPARQL 1.1 Query & Update, SPARQL Inference Rules. See [http://wimmics.inria.fr/corese/ discussion of SPARQL features and extensions supported]. open source license to java source and binaries.<br />
* [http://www.alphaworks.ibm.com/tech/semanticstk SOR] "is a high-performance OWL ontology storage, inference, and query system based on RDBMS (Relational Database Management Systems). This technology runs on Windows® and Linux®." "SPARQL specification (April 2006) has been implemented". Developed by IBM. Previously known as The Minerva.<br />
* [http://virtuoso.openlinksw.com/wiki/main/Main OpenLink Virtuoso] supports SPARQL, and SPARQL embedded in SQL, for querying RDF data stored in Virtuoso's Object-Relational Database. In Virtuoso, SPARQL benefits from low-level support in the core engine via features such as; SPARQL aware type casting rules and a dedicated IRI data type. The [http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDFWP Virtuoso RDF Triple Store] is the fastest developing functionality realm of Virtuoso at the current time. Virtuoso Open Source (license: GPL) and Commercial Editions (version 4.5.2) are now Available. <br />
* [http://ontotext.com/owlim Ontotext OWLIM] supports SPARQL and SeRQL. OWLIM is a triple storage with a built-in reasoner. It has a free edition called [http://ontotext.com/owlim/SwiftOWLIM-registration-form.html SwiftOWLIM].<br />
* [http://arc.semsol.org/ ARC] is "a flexible RDF system for semantic web and PHP practitioners" by [http://semsol.com/ semsol web semantics]. License: W3C Software License, [http://lists.w3.org/Archives/Public/semantic-web/2007Nov/0188.html new version (ARC2) announced on November 28, 2007].<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/ D2R Server], turns relational databases into SPARQL endpoints, implements the SPARQL query language and the SPARQL protocol, based on Joseki and ARQ.<br />
* [http://con.fusion.at/dlvhex/download.php dlvhex SPARQL-engine] A prototype SPARQL-plugin for the declarative logic programming engine [http://www.dlvsystem.com/ dlv]. Translates SPARQL to datalog rules. The generic translation, also applicable to other Datalog or logic programming engines is described in a detailed [http://www.polleres.net/publications/GIA-TR-2006-11-28.pdf Technical Report]<br />
* [http://www.openanzo.org/index.html Open Anzo] is "a server capable of storing millions of RDF triples in an underlying relational database (IBM DB/2, Oracle, MySQL, Postgres and Apache Derby are currently supported)". Features "Typed full-text search capabilities for text literals are supported through Glitter SPARQL queries". License: Eclipse Public License 1.0<br />
* [http://opensource.joost.com/libb/ Joost's Lib B]. "We have been developing a triple store called B". Donated to ASF inactive incubator project [http://incubator.apache.org/triplesoup/ TripleSoup] which aims to build "a SPARQL endpoint for httpd".<br />
* [http://hercules.arielworks.net/ Hercules] is a semantic web framework in JavaScript. It has a SAPRQL query engine implementation in pure JavaScript which is runnable on web browsers. Hercules is distributed on the public domain.<br />
* [http://4store.org/ 4store] is is a clustered database storage and query engine that holds RDF data. 4store's main strengths are its performance, scalability and stability. It does not provide many features over and above RDF storage and SPARQL queries. 4store is available under the GPLv3 license.<br />
* [http://www.springerlink.com/content/c126511h03gx3014/ The RDF-3X engine for scalable management of RDF data], VLDB Journal, 2010.<br />
* [http://www.strixDB.com/ StrixDB] is a RDF graph store, SPARQL compliant, with Lua API and Datalog inference capabilities. Could be used as httpd (Apache HTTP Server) module or standalone.<br />
* [http://www.ontoprise.de/en/home/products/ontobroker/ ontoprise OntoBroker] supports SPARQL (Query and Update) via Java API and REST endpoint in combination with the internal rule engine and data integration. License: Commercial.<br />
* [http://blog.dydra.com/2011/05/27/sp2b-benchmarks SPOCQ] is [http://dydra.com/ Dydra's] proprietary SPARQL 1.1 query engine, implemented in Common Lisp.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL2XQuery.html SPARQL2XQuery], allows setting SPARQL endpoints over XML data.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL-RW.html SPARQL-RW], provides transparent SPARQL query access over mapped RDF datasets.<br />
* [http://bitbucket.org/fundacionctic/su4j/wiki/endpoint su4j sparql endpoint]: a Jena-based servlet implementation of SPARQL query language and protocol<br />
* [http://www.bigdata.com/blog Bigdata(R)] Bigdata is an open-source, high-performance semantic web database platform supporting SPARQL, SPARQL 1.1, and RDFS+ inference. Deployment models are available for embedded applications, standalone server processes, highly available replicated clusters based on the standalone database platform, and a horizontally scaled "bigdata federated" using dynamic sharding to distributed the data over a cluster. The bigdata platform was created in 2006 and has been under continuous development since that time. Development is lead by SYSTAP, LLC. The platform is available under its open source license (GPLv2) or an evaluation license. Commercial licenses are available through SYSTAP, LLC and through a number of OEMs. Download at https://sourceforge.net/projects/bigdata/. See http://www.systap.com/bigdata.htm for more information about licensing. Support is available under both the open source and commercial license models.<br />
* The [https://rubygems.org/gems/sparql SPARQL gem] is a complete SPARQL 1.1 Query and Update implementation written in pure Ruby with a free and unencumbered public domain software license. Documentation available on [http://www.rubydoc.info/github/ruby-rdf/sparql GitHub] ([https://htmlpreview.github.com/?https://github.com/ruby-rdf/sparql/blob/develop/etc/earl.html Implementation Report]).<br />
<br />
== Grammars and Parsers for SPARQL ==<br />
<br />
* [http://jena.sourceforge.net/ARQ/ ARQ] - Contains a JavaCC grammar [http://cvs.sourceforge.net/viewcvs.py/*checkout*/jena/ARQ/Grammar/sparql.jj sparql.jj]<br />
* An ANTLRv3 fully compliant [http://www.antlr.org/grammar/1193765395834/sparql-1.0.tgz grammar] - See [http://www.antlr.org ANTLR]<br />
* [http://arc.semsol.org/docs/v2/misc/sparql_parsing ARC SPARQL Parser] - PHP parser for SPARQL by Benjamin Nowack. License: W3C Software License. Builds a structure representing the query from the syntax. Supports all SPARQL syntax features.<br />
* [http://rdflib.net RDFLib]'s [http://copia.ogbuji.net/blog/2005-04-27/Of_BisonGe BisonGen]-based [http://svn.rdflib.net/trunk/rdflib/sparql/bison/ parser] which is implemented as a Python/C extension which builds a library of SPARQL syntax objects.<br />
* [http://www.openrdf.org/ Sesame 2]'s SPARQL parser - contains a JJTree grammar [http://repo.aduna-software.org/websvn/filedetails.php?repname=aduna&path=%2Forg.openrdf%2Fsesame%2Fbranches%2F2.2%2Fcore%2Fqueryparser%2Fsparql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenrdf%2Fquery%2Fparser%2Fsparql%2Fast%2Fsparql.jjt sparql.jjt].<br />
* [http://www.logilab.org/project/fyzz Fyzz] a SPARQL parser written in pure python and licensed under the LGPL - some documentation in this [http://www.cubicweb.org/blogentry/344822 blog post].<br />
<br />
== SPARQL "Endpoints" ==<br />
<br />
These endpoints offer a URI with a SPARQL service that can be accessed using the [http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec], and return XML and/or JSON.<br />
<br />
* [[SparqlEndpoints|Collection of SPARQL Endpoints]]<br />
* [http://sparql.org/sparql SPARQLer] (see http://sparql.org for a description)<br />
* [http://demo.openlinksw.com/sparql/ OpenLink Virtuoso] (the SPARQL Query Service endpoint for our Live Demo Server). <br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://yasgui.laurensrietveld.nl YASGUI] (Yet Another Sparql Interface) Web application from which to query any other public SPARQL endpoint. Provides prefix autocompletion and sparql grammar checker. <br />
<br />
----<br />
[[Category:SwTools]]</div>Gkellogghttps://www.w3.org/wiki/index.php?title=SparqlImplementations&diff=84094SparqlImplementations2015-05-12T23:44:13Z<p>Gkellogg: Remove SPARQL::Grammar Ruby link, to be replaced with full SPARQL implementation reference.</p>
<hr />
<div>__NOTOC__<br />
This page lists some implementations of [[SPARQL]], a query language and protocol<br />
for RDF acccess released by the W3C RDF Data Access Working Group - <br />
[http://www.w3.org/2001/sw/DataAccess/ DAWG].<br />
<br />
[http://www.w3.org/TR/rdf-sparql-query/ SPARQL query language spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-XMLres/ SPARQL XML results spec]<br />
<br />
[http://www.w3.org/2001/sw/DataAccess/tests/implementations SPARQL Implementation Survey]<br />
<br />
See [[DawgShows]] for online demos and services.<br />
<br />
== Client Side ==<br />
<br />
* [http://www.franz.com/agraph/gruff/ Gruff] provides a [http://www.franz.com/agraph/gruff/grufflab.lhtml Graphical Query View] which allows creating SPARQL and Prolog queries as diagrams of nodes and links. Group graph patterns such as UNION and OPTIONAL can be laid out as grouper boxes that can be nested to any level, with proper nesting maintained automatically. You can generate a visual graph from query results, showing the network of triples in the query results.<br />
* [http://rdf2go.semweb4j.org RDF2Go] Java Triple Store Abstraction Layer, adapters for Jena and Sesame - one RDF API, many stores<br />
* [http://cyparkler.monrai.com SPARQL Software] Monrai Cyparkler 1.0 is a software framework which implements a query factory for SPARQL and SeRQL<br />
* [http://cypher.monrai.com NLP Software for RDF & SPARQL] Monrai Cypher is a software program which generates the RDF graph and SPARQL/SeRQL query representation of a plain language input<br />
* [http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html SPARQL JavaScript Library], works with SPARQL/JSON-capable servers<br />
* [http://demo.openlinksw.com/sparql_demo/ OpenLink Virtuoso's Web based SPARQL Client], works with in-built or 3rd party SPARQL Query Services<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/ng4j/semwebclient Semantic Web Client Library], represents the complete Semantic Web as a single RDF graph and enables applications to query this global graph using SPARQL queries. Implemented in Java based on Jena.<br />
* [https://sourceforge.net/projects/sesamewinclient Sesame Windows Client], is an open-source desktop application for interacting with a Sesame 2 RDF server or SPARQL endpoints. SWC offers a graphical user interface that lets you administrate a Sesame server, do SPARQL queries, export, add and remove data. It works with Novell Mono on Unix. <br />
* [http://www.arielworks.net/works/codeyard/hercules Hercules - Ajax Object/Rdf mapper], works with SPARQL servers<br />
* [http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlClient.htm RAP's SPARQL Client Library] PHP library to query remote SPARQL endpoints.<br />
* [http://www.topbraidcomposer.com/ TopQuadrant's TopBraid Composer], is a complete standards-based platform for developing, testing and maintaining Semantic Web applications. Testing, consistency checking and debugging is supported by a bundled version of Pellet.<br />
* [http://sparql-wrapper.sourceforge.net/ SPARQL Python Wrapper] is a python implementation by Ivan Herman and others.<br />
* [http://code.google.com/p/pysparql/ pysparql] is a python client that originates in the above [[JavaScript]] library.<br />
* [http://www.ldodds.com/projects/twinkle/ Twinkle] is a simple GUI interface that wraps the ARQ SPARQL query engine. The tool should be useful both for people wanting to learn the SPARQL query language, as well as those doing Semantic Web development.<br />
* [http://pypi.python.org/pypi/Products.ZSPARQLMethod/ ZSPARQLMethod for Zope] SPARQL client written in python for the Zope application server. [https://svn.eionet.europa.eu/repositories/Zope/trunk/Products.ZSPARQLMethod/ Latest source code]<br />
* [http://pypi.python.org/pypi/eea.sparql eea.sparql for Plone] SPARQL client written in python for Plone CMS. [https://svn.eionet.europa.eu/repositories/Zope/trunk/eea.sparql/ Latest source code]<br />
* [http://www.easyrdf.org/ EasyRdf] provides a [http://www.easyrdf.org/docs/api/EasyRdf_Sparql_Client.html SPARQL Client] class for PHP.<br />
* [http://zoggy.github.io/ocaml-rdf/ OCaml-RDF] is an [http://www.ocaml.org OCaml] implementation of RDF graphs and Sparql.<br />
* [http://www.cognitum.eu/semantics/Tools/SparqlExcelTools.aspx Ontorion™ SPARQL Tools for Excel] developed by [http://www.cognitum.eu/ Cognitum] can be used to download knowledge from a SPARQL endpoint or from an Ontorion endpoint. It works with MS Excel 2010 and MS Excel 2013.<br />
<br />
== Query Engines ==<br />
<br />
* [http://www.franz.com/agraph/allegrograph AllegroGraph] is a modern, high-performance, persistent RDF graph database. [http://en.wikipedia.org/wiki/AllegroGraph AllegroGraph] supports [http://www.franz.com/agraph/support/documentation/v4/sparql-reference.html SPARQL], [http://www.franz.com/agraph/support/documentation/v4/lisp-reference.html#ref-prolog RDFS++], and [http://www.franz.com/agraph/support/documentation/v4/reasoner-tutorial.html Prolog] reasoning from numerous client applications.<br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/ RDF API for PHP], esp [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlEngine.htm SPARQL support]; the new SPARQL engine in RAP V0.95 passes many DAWG test cases. <br />
* [http://openjena.org/ARQ/ ARQ] - Implements the SPARQL 1.1 Query Language and SPARQL 1.1 Update Language for [http://jena.sourceforge.net/ Jena] - License: Apache. Stable releases now part of the Jena distributions (binary, documentation) while continuing development releases as a separate system (code, documentation).<br />
* [http://www.joseki.org/ Joseki] - Implements the SPARQL protocol - License: Apache. Implements both HTTP and SOAP versions of the SPARQL protocol.<br />
* [http://www.openjena.org/ Fuseki] - Implements the SPARQL protocol and SPARQL Graph Update protocol - License: Apache.<br />
* [http://librdf.org/rasqal/ Rasqal] - Implements the SPARQL query language for Redland (C) - License: LGPL/GPL2/Apache2.0. [http://librdf.org/bindings/ Redland Bindings] provides interfaces to it in at least perl, php, python, ruby and others. [http://librdf.org/query Rasqal demo] using the perl interface. [http://sebastian.dietzold.de/archive/2005/03/02/sparqlTool.php PHP query demo]<br />
* [http://www.openrdf.org/ Sesame 2] - Implements the SPARQL query language and protocol in Java - License: BSD. <br />
* [http://www.w3.org/2000/10/swap/doc/cwm cwm] has a --sparql option and --sparqlServer mode sinde [http://lists.w3.org/Archives/Public/public-cwm-announce/2005JulSep/0000.html Cwm Release 1.1.0rc1] 11 Aug 2005<br />
* [http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/PythonLib-IH/Overview.html sparql-p], a SPARQL API in Python, distributed as part of [http://rdflib.net RDFLib], [http://rdflib.net/2005/09/10/rdflib-2.2.2/README/ version 2.2.2 and higher]. This is an updated version of an [http://dev.w3.org/cvsweb/~checkout~/2004/PythonLib-IH/Doc/sparqlDesc.html?rev=1.8 older version of sparql-p] which was a separate package on top of RDFLib. The separate version is now deprecated. An effort to include a parser of the SPARQL query language, with a mapping on sparql-p, has been [http://copia.ogbuji.net/blog/2006-06-23/rdf_query_apis_for_rdflib completed].<br />
* [http://sourceforge.net/projects/sparql4j/ SPARQL4J] SPARQL JDBC type 4 driver (Release 0.1 out) - License: Apache. See the [http://www.profium.com/news/2005/jan11_2005.html announcement] 2006-03-31<br />
* [http://rdfstore.sourceforge.net RDFStore] ([http://cvs.sourceforge.net/viewcvs.py/rdfstore/rdfstore/ CVS] 0.51) from [http://www.asemantics.com/ asemantics] - License: BSD. See also the SPARQL protocol [http://demo2.asemantics.com/rdfstore/sparql/ demo] and [http://demo.asemantics.com/zparqler/ Zparqler demo] and [http://demo.asemantics.com/zparqler/examples/index.html examples] <br />
* [http://kasei.us/code/rdf-query/ RDF::Query] perl module for querying Redland, RDF::Trine and RDF::Core models with SPARQL and RDQL. - License: Perl (Artistic/GPL). See [http://kasei.us/archives/categories/projects/rdf-query/ weblog updates] for the project status.<br />
* [http://www.holygoat.co.uk/projects/twinql/ Twinql] Common Lisp SPARQL processor by Richard Newman. License: TBD, probably BSDish. See also the [http://www.noctua.co.uk/sparql/ twinql demo]<br />
* [http://sourceforge.net/projects/sparql SPARQL Engine]. License: LGPL. See also the [http://sparql.sourceforge.net/design.html Design for SPARQL engine in Sesame] document. Plugs into [http://www.openrdf.org/ Sesame] and used in [http://taubz.for.net/code/semweb SemWeb .NET library].<br />
* [http://kaon2.semanticweb.org/ KAON2] OWL-DL and SWRL inference engine with SPARQL support.<br />
* [http://www.mindswap.org/2003/pellet Pellet] Complete OWL-DL inference engine with SPARQL support, including for non-distinguished variable. The [http://www.mindswap.org/2003/pellet/demo.shtml Web Demo] has some SPARQL examples.<br />
* [http://stardog.com Stardog] is a fast, commercial RDF database: SPARQL for queries; OWL for reasoning; pure Java for the Enterprise.<br />
* [http://wimmics.inria.fr/corese/ Corese] Corese stands for Conceptual Resource Search Engine. It provides RDF, RDFS, SPARQL 1.1 Query & Update, SPARQL Inference Rules. See [http://wimmics.inria.fr/corese/ discussion of SPARQL features and extensions supported]. open source license to java source and binaries.<br />
* [http://www.alphaworks.ibm.com/tech/semanticstk SOR] "is a high-performance OWL ontology storage, inference, and query system based on RDBMS (Relational Database Management Systems). This technology runs on Windows® and Linux®." "SPARQL specification (April 2006) has been implemented". Developed by IBM. Previously known as The Minerva.<br />
* [http://virtuoso.openlinksw.com/wiki/main/Main OpenLink Virtuoso] supports SPARQL, and SPARQL embedded in SQL, for querying RDF data stored in Virtuoso's Object-Relational Database. In Virtuoso, SPARQL benefits from low-level support in the core engine via features such as; SPARQL aware type casting rules and a dedicated IRI data type. The [http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDFWP Virtuoso RDF Triple Store] is the fastest developing functionality realm of Virtuoso at the current time. Virtuoso Open Source (license: GPL) and Commercial Editions (version 4.5.2) are now Available. <br />
* [http://ontotext.com/owlim Ontotext OWLIM] supports SPARQL and SeRQL. OWLIM is a triple storage with a built-in reasoner. It has a free edition called [http://ontotext.com/owlim/SwiftOWLIM-registration-form.html SwiftOWLIM].<br />
* [http://arc.semsol.org/ ARC] is "a flexible RDF system for semantic web and PHP practitioners" by [http://semsol.com/ semsol web semantics]. License: W3C Software License, [http://lists.w3.org/Archives/Public/semantic-web/2007Nov/0188.html new version (ARC2) announced on November 28, 2007].<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/ D2R Server], turns relational databases into SPARQL endpoints, implements the SPARQL query language and the SPARQL protocol, based on Joseki and ARQ.<br />
* [http://con.fusion.at/dlvhex/download.php dlvhex SPARQL-engine] A prototype SPARQL-plugin for the declarative logic programming engine [http://www.dlvsystem.com/ dlv]. Translates SPARQL to datalog rules. The generic translation, also applicable to other Datalog or logic programming engines is described in a detailed [http://www.polleres.net/publications/GIA-TR-2006-11-28.pdf Technical Report]<br />
* [http://www.openanzo.org/index.html Open Anzo] is "a server capable of storing millions of RDF triples in an underlying relational database (IBM DB/2, Oracle, MySQL, Postgres and Apache Derby are currently supported)". Features "Typed full-text search capabilities for text literals are supported through Glitter SPARQL queries". License: Eclipse Public License 1.0<br />
* [http://opensource.joost.com/libb/ Joost's Lib B]. "We have been developing a triple store called B". Donated to ASF inactive incubator project [http://incubator.apache.org/triplesoup/ TripleSoup] which aims to build "a SPARQL endpoint for httpd".<br />
* [http://hercules.arielworks.net/ Hercules] is a semantic web framework in JavaScript. It has a SAPRQL query engine implementation in pure JavaScript which is runnable on web browsers. Hercules is distributed on the public domain.<br />
* [http://4store.org/ 4store] is is a clustered database storage and query engine that holds RDF data. 4store's main strengths are its performance, scalability and stability. It does not provide many features over and above RDF storage and SPARQL queries. 4store is available under the GPLv3 license.<br />
* [http://www.springerlink.com/content/c126511h03gx3014/ The RDF-3X engine for scalable management of RDF data], VLDB Journal, 2010.<br />
* [http://www.strixDB.com/ StrixDB] is a RDF graph store, SPARQL compliant, with Lua API and Datalog inference capabilities. Could be used as httpd (Apache HTTP Server) module or standalone.<br />
* [http://www.ontoprise.de/en/home/products/ontobroker/ ontoprise OntoBroker] supports SPARQL (Query and Update) via Java API and REST endpoint in combination with the internal rule engine and data integration. License: Commercial.<br />
* [http://blog.dydra.com/2011/05/27/sp2b-benchmarks SPOCQ] is [http://dydra.com/ Dydra's] proprietary SPARQL 1.1 query engine, implemented in Common Lisp.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL2XQuery.html SPARQL2XQuery], allows setting SPARQL endpoints over XML data.<br />
* [http://www.dblab.ntua.gr/~bikakis/SPARQL-RW.html SPARQL-RW], provides transparent SPARQL query access over mapped RDF datasets.<br />
* [http://bitbucket.org/fundacionctic/su4j/wiki/endpoint su4j sparql endpoint]: a Jena-based servlet implementation of SPARQL query language and protocol<br />
* [http://www.bigdata.com/blog Bigdata(R)] Bigdata is an open-source, high-performance semantic web database platform supporting SPARQL, SPARQL 1.1, and RDFS+ inference. Deployment models are available for embedded applications, standalone server processes, highly available replicated clusters based on the standalone database platform, and a horizontally scaled "bigdata federated" using dynamic sharding to distributed the data over a cluster. The bigdata platform was created in 2006 and has been under continuous development since that time. Development is lead by SYSTAP, LLC. The platform is available under its open source license (GPLv2) or an evaluation license. Commercial licenses are available through SYSTAP, LLC and through a number of OEMs. Download at https://sourceforge.net/projects/bigdata/. See http://www.systap.com/bigdata.htm for more information about licensing. Support is available under both the open source and commercial license models.<br />
<br />
== Grammars and Parsers for SPARQL ==<br />
<br />
* [http://jena.sourceforge.net/ARQ/ ARQ] - Contains a JavaCC grammar [http://cvs.sourceforge.net/viewcvs.py/*checkout*/jena/ARQ/Grammar/sparql.jj sparql.jj]<br />
* An ANTLRv3 fully compliant [http://www.antlr.org/grammar/1193765395834/sparql-1.0.tgz grammar] - See [http://www.antlr.org ANTLR]<br />
* [http://arc.semsol.org/docs/v2/misc/sparql_parsing ARC SPARQL Parser] - PHP parser for SPARQL by Benjamin Nowack. License: W3C Software License. Builds a structure representing the query from the syntax. Supports all SPARQL syntax features.<br />
* [http://rdflib.net RDFLib]'s [http://copia.ogbuji.net/blog/2005-04-27/Of_BisonGe BisonGen]-based [http://svn.rdflib.net/trunk/rdflib/sparql/bison/ parser] which is implemented as a Python/C extension which builds a library of SPARQL syntax objects.<br />
* [http://www.openrdf.org/ Sesame 2]'s SPARQL parser - contains a JJTree grammar [http://repo.aduna-software.org/websvn/filedetails.php?repname=aduna&path=%2Forg.openrdf%2Fsesame%2Fbranches%2F2.2%2Fcore%2Fqueryparser%2Fsparql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenrdf%2Fquery%2Fparser%2Fsparql%2Fast%2Fsparql.jjt sparql.jjt].<br />
* [http://www.logilab.org/project/fyzz Fyzz] a SPARQL parser written in pure python and licensed under the LGPL - some documentation in this [http://www.cubicweb.org/blogentry/344822 blog post].<br />
<br />
== SPARQL "Endpoints" ==<br />
<br />
These endpoints offer a URI with a SPARQL service that can be accessed using the [http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec], and return XML and/or JSON.<br />
<br />
* [[SparqlEndpoints|Collection of SPARQL Endpoints]]<br />
* [http://sparql.org/sparql SPARQLer] (see http://sparql.org for a description)<br />
* [http://demo.openlinksw.com/sparql/ OpenLink Virtuoso] (the SPARQL Query Service endpoint for our Live Demo Server). <br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://yasgui.laurensrietveld.nl YASGUI] (Yet Another Sparql Interface) Web application from which to query any other public SPARQL endpoint. Provides prefix autocompletion and sparql grammar checker. <br />
<br />
----<br />
[[Category:SwTools]]</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Linked_Data_2015&diff=83222Linked Data 20152015-03-30T23:51:57Z<p>Gkellogg: /* Attendance */</p>
<hr />
<div>= Linked Data 2015 - San Francisco, April 21 =<br />
<br />
== Why ==<br />
<br />
Our world is made of data, but more and more, that data is kept out of our reach. Today, each software product we use, as individuals and in our businesses, keeps its data locked in its own database. When it provides an API, it is often incomplete and requires custom programming.<br />
<br />
The Linked Data Platform (LDP) offers an alternative vision, where there is a clean separation between software and data, so access to the data is simple and always available. If you run a business, LDP software means your vital data isn't locked out of your reach. Instead, every LDP database can be accessed using a standard RESTful API, and every LDP-based application can be integrated. If you develop software, LDP gives you a chance to focus on delivering value while respecting your customer's overall needs. If you are an end user, LDP software promises to give you choice and freedom in the new online world.<br />
<br />
So how will this vision become reality? LDP 1.0 has recently become a W3C Recommendation, but there's still a lot of work to do. Come join the conversation about where we are and what happens next. <br />
<br />
== What ==<br />
<br />
A special open meeting of the W3C Linked Data Platform (LDP) Working Group, in San Francisco on April 21, 2015, co-located with the [https://www.w3.org/annotation/wiki/Meetings/f2f/SF_Q1_2015 Annotations WG f2f] that is meeting the next day and and [http://iannotate.org/2015/ iAnnotate]which is meeting on the following days.<br />
<br />
Please indicate below whether you will be able to attend the workshop. Please include your email address.<br />
<br />
The purpose of this meeting is to discuss potential future work for the WG. The deliverable from the workshop will be a report that the LDP WG will take into consideration as it plans its way forward.<br />
<br />
The LDP spec has just been published as a W3C Recommendation. <br />
The Paging spec and the LDP Patch spec are Candidate Recommendations.<br />
The WG has other, non-essential, deliverables in various stages of completion.<br />
See [https://www.w3.org/2012/ldp/wiki/Main_Page#Deliverables WG Deliverables] for details. <br />
<br />
Clearly, the Paging spec and the Patch spec need to be completed and moved to Rec. But a more important question is what else needs to be done to advance Linked Data as a central Web technology.<br />
<br />
== Format ==<br />
<br />
Short (~15 minute) presentations followed by open discussion. Please send presentation proposals to [mailto:public-ldp@w3.org?subject=Presentation%20Proposal Public LDP Mailing List] as soon as possible.<br />
<br />
== Location ==<br />
<br />
The Fort Mason campus of the City College of San Francisco.<br />
https://www.google.com/maps/place/Fort+Mason+Center+SF+CA/<br />
<br />
Room C260<br />
<br />
== Schedule ==<br />
<br />
10AM to 5PM on April 21.<br />
<br />
== Attendance ==<br />
<br />
Please add yourself<br />
<br />
* Will attend:<br />
** Ashok Malhotra and 2 Oracle developers: ashok.malhotra@oracle.com<br />
** Robert Sanderson (Stanford): azaroth42@gmail.com<br />
** Chris Beer (Stanford)<br />
** Stephen Abrams (CDL)<br />
** Andrew Woods (DuraSpace)<br />
** Miguel Aragón (Base22)<br />
** Oshani Seneviratne (Oracle) : oshani.seneviratne@oracle.com<br />
** Arnaud J Le Hors (IBM)<br />
** Gregg Kellogg: gregg@greggkellogg.net<br />
* Regrets:<br />
** Steve Speicher (IBM)<br />
* Undetermined:<br />
** Sandro Hawke (MIT)<br />
** Andrei Sambra (MIT)</div>Gkellogghttps://www.w3.org/wiki/index.php?title=TPAC/2014/SessionIdeas&diff=77318TPAC/2014/SessionIdeas2014-09-25T19:30:22Z<p>Gkellogg: /* Next Steps for the Web of Things */</p>
<hr />
<div>We encourage attendees to start brainstorming [[TPAC2014]] Wednesday session ideas in advance of the meeting. <br />
<br />
See the [http://www.w3.org/wiki/TPAC2014/FAQ TPAC 2014 FAQ] for more information.<br />
<br />
== How to use this page ==<br />
<br />
Please use this page to:<br />
<br />
* Propose sessions you wish you lead<br />
* Propose sessions you wish others to lead<br />
* Indicate whether you plan to attend a session (helps with scheduling)<br />
<br />
== How to propose a session ==<br />
<br />
Please provide:<br />
<ul class="show_items"><br />
* session name (as a === subhead === )<br />
* session proposer (optional: name a desired session leader, can be yourself)<br />
* one sentence session summary<br />
* type of session: (e.g.: talk, panel, open discussion, etc.)<br />
* goals of session<br />
* additional speakers/panelists<br />
</ul><br />
<br />
And feel free to simply add them here at the top. See [[#Site Redesign|site redesign below]] as a template for new entries.<br />
<br />
== Telcos @ W3C ==<br />
* Proposer: Dominique Hazael-Massieux<br />
* Summary: A significant number of W3C Members have their core business in the telecommunication space (mobile operators, network equipment providers); this session aims at discussing how W3C can better serve the needs and aspirations from that industry<br />
* Type: open discussion<br />
* Background materials:<br />
** [http://www.w3.org/2013/11/13-teleweb-minutes.html Minutes of TPAC2013 "how to involve telcos in W3C"]<br />
* Attendees:<br />
<br />
== Crowd sourcing use cases: spec development at light-speed! ==<br />
Proposer: Natasha Rooney (Webmob co-chair)<br />
<br />
Webmob gets its work done by focusing on individual tasks, finding the right people and working together to get documents out the door quickly. We will hold a breakout which explains the process in greater detail and answers some questions as to how to get started working in this way. We hope chairs, our group members, and other group members will attend!<br />
<br />
* Type of session: Talk, Q&A <br />
* Additional Speakers: Marcos Caceres<br />
* Attendees; Bryan Sullivan<br />
<br />
== Web and Web Standards Ecosystem in 2024 ==<br />
<br />
* Proposer: [mailto:art.barstow@gmail.com ArtB]; (please send feedback, questions, etc. to [http://lists.w3.org/Archives/Public/public-openw3c/ public-openw3c])<br />
* Summary: What is the Web we want in 2024 and what is the optimal Web standards ecosystem to help achieve that?<br />
* Session Type: Panel<br />
* Panelists confirmed: Marcos Cáceres (Mozilla), Robin Berjon (representing Robin), Brian Kardell<br />
* Goal: to discuss topics and questions such as:<br />
** What do we expect to be the major Web interoperability problem(s) over the next ten years) that will need some type of open standardization effort to help solve?<br />
** To facilitate the evolution of the Web and Web standards development, what should be done differently now(ish)? In particular, what do are the more immediate ''high'' priorities, versus more long term activities; what new activities will be needed (f.ex. to fill Web standards gaps); what current activities don't help or are harmful to the Web's evolution?<br />
** What are the most important activities related to the creation and evolution of open Web standards that need to change to facilitate more interoperable and widely deployed open Web standards?<br />
* Background materials:<br />
** [http://berjon.com/web-2024/ Web 2024 ]; by Robin Berjon (2014-07-02)<br />
** [http://marcosc.com/2014/07/web-2024/ Web 2024 – A response to Robin Berjon’s post]; by Marcos Cáceres (2014-07-10)<br />
** [https://www.w3.org/wiki/Web_in_2024 Web in 2024]; by Felix Sasaki and Philippe Le Hégaret; '''this is a WorkInProgress'''<br />
** [http://darobin.github.io/after5/ After 5]; Robin Berjon's proposal for the evolution to the HTML standard<br />
<br />
== Improving Communications to Membership ==<br />
<br />
* Proposer: Ian Jacobs<br />
* Summary: Are we reaching you with W3C Team communications<br />
* Session Type: Discussion<br />
* Panelists confirmed: Ian Jacobs<br />
* Goal: To share ideas for<br />
** Making communications more efficient. For instance, last year the staff analyzed messages we send to w3c-ac-members (by type) and concluded that most messages should not be batched, and that a once weekly package of certain types of messages would not create significant gains. We welcome suggestions.<br />
** Dashboards. Staff have begun work on a [https://www.w3.org/wiki/W3C_Data_Platform Data Project] that will support queries. What queries do Members have?<br />
* Background materials:<br />
** [http://disruptive-innovations.com/zoo/w3c/ Daniel Glazman's app]<br />
** [https://www.w3.org/wiki/Dashboard Art's wiki on dashboards]<br />
<br />
== Web API for Health Care Sensors ==<br />
<br />
* Proposer: Frederick Hirsch (DAP chair)<br />
* Attendees: Bryan Sullivan, Claes Nilsson, Ryoichi Kawada, Cary Bran, [http://dret.net/netdret/ Erik Wilde], Dzung Tran<br />
* Summary: Determine interest in 'Web API for Health Care Sensors' topic & possible next steps (e.g. workshop/Community Group/IG) , discuss background/scope<br />
* Session Type: Discussion<br />
* Goal: To determine:<br />
** Degree of interest in the overall topic<br />
** Interest in a W3C Workshop/Community Group, level of support<br />
** Discuss relationship to sensors in general, specifics to vertical<br />
** Discuss related work, background materials, possible scope<br />
* Background materials:<br />
** none so far.<br />
<br />
== What do you want from your Mobile Carrier? ==<br />
Proposer: Natasha Rooney (Webmob co-chair)<br />
<br />
Pay-from-bill API? Data-usage API? Or Geo location? Over the past few months many developers and technologists have been asking for MORE from the mobile operators. What do you want? This session will discuss some ideas for APIs, data, ideas and solutions which could improve the web and operator collaboration and allow developers to do more with mobile operator stuff. Please add your ideas below or bring them to the session!<br />
<br />
* Type of session: Talk, Q&A <br />
* Additional Speakers: Seeking Volunteers!<br />
* Attendees;<br />
* Current ideas:<br />
** Central web service which takes payments from my mobile bill, regardless of carrier.<br />
** API to access data usage ("how much data have I used this month?")<br />
<br />
== Next Steps for the Web of Things ==<br />
<br />
Proposer: Dave Raggett, W3C, email: <dsr@w3.org><br />
<br />
This session will discuss plans for a W3C Interest Group for the Web of Things (see [http://www.w3.org/2014/09/wot-ig-charter.html draft charter]), arising out of the [http://www.w3.org/2014/02/wot/ June Workshop in Berlin]. TThe Internet of Things focuses on devices (tags, sensors and actuators) and the communication technologies to access these devices. There is huge potential across many application domains. However, there has been relatively little attention to services, and new work is needed to break out of today's product silos. The aim is for the Interest Group to identify use cases and requirements for web standards to enable open markets of services that build on top of the Internet of Things, in combination with the Web of Data. The Interest Group will identify whether those requirements might be satisfied in existing or new Working Groups.<br />
<br />
* Type of session: Talk, Q&A<br />
* Attendees: [http://dret.net/netdret/ Erik Wilde], Dzung Tran, Claes Nilsson, Gregg Kellogg<br />
<br />
== Trust and Permissions in the Open Web Platform ==<br />
Proposer: Dave Raggett, W3C, email: <dsr@w3.org><br />
<br />
As we incrementally extend the Open Web Platform with richer capabilities, users are being asked if they trust applications with access to their location, the device's camera, microphone, and so forth. What are the best practices for handing trust and permission? What do we need to do to ensure working group participants have a shared understanding of the underlying principles? What further technical work is needed?<br />
<br />
The following diagram (with thanks to Adrienne Porter Felt) depicts a decision graph for selecting the most appropriate permission mechanism:<br />
<br />
[[File:Mechanisms.png|800px]]<br />
<br />
We will discuss how each of these mechanisms apply to the Open Web Platform, and what gaps there are in current standards. As further food for thought: If users trust a site, then the browser could grant permissions without asking the user for consent for each individual permission. Users may choose to trust sites that are endorsed by well known 3rd parties. What is needed for this to work consistently across browsers?<br />
<br />
This session will discuss next steps for work on trust and permissions in the Open Web Platform<br />
<br />
* A summary from the [http://www.w3.org/2014/07/permissions/ September meeting in Paris on trust and permissions], which surveyed insights drawn from experience with native and web platforms, and insights from research studies.<br />
* Plans for chartering a Community Group to work on best practices and identifying work items for standardization,<br />
<br />
* Type of session: Panel, Q&A <br />
* Attendees; Claes Nilsson, DomHM</div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas/InverseProperties&diff=75363WebSchemas/InverseProperties2014-08-06T16:53:15Z<p>Gkellogg: Update to show simultaneous use of both @itemprop and @itemprop-reverse</p>
<hr />
<div>= Inverse Properties in Web Schemas =<br />
<br />
It has been [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html recently argued on the W3C public-vocabs mailing list] that <br />
<br />
# some properties are needed in both directions (e.g. the relationhip between Person and CreativeWork as both CreativeWork hasCreator Author and Author isCreatorOf CreativeWork), and<br />
# that this should be addressed at the level of syntaxes for Web data, and not by defining inverse properties in the vocabularies.<br />
<br />
In the following discussion, many relevant use-cases have been documented in which existing schema.org properties are needed in the opposite direction (see below for examples).<br />
<br />
== Support in Relevant Syntaxes ==<br />
===RDFa, JSON-LD, and Turtle ===<br />
In RDFa, JSON-LD, and Turtle (and likely other syntaxes in use for Web vocabularies), there are mechanisms in place that allow for using the same property in both directions, i.e. the primary direction, for which the property is defined in the original vocabulary, and the reverse direction (effectively swapping subject and object):<br />
<br />
*'''RDFa:''' @rev vs. @rel<br />
*'''JSON-LD:''' @reverse keyword, as defined in http://www.w3.org/TR/json-ld/#reverse-properties.<br />
*'''Turtle:''' Use of a separate statement <subject> <predicate> <object>. (Note using a property with the current node as the object of a statement is limited for BNodes - it is only possible for [http://www.w3.org/TR/2014/REC-turtle-20140225/#BNodes labeled blank nodes] (_:node123), not for unlabeled blank nodes.<br />
=== Microdata ===<br />
As of today, '''Microdata does not support a similar mechanism'''. The only two currently supported patters are to use <code>@itemref</code>, <code>@itemid</code>, or a combination of both.<br />
==== Example with @itemref ====<br />
<syntaxhighlight lang="html5"><br />
<!-- Example of using http://schema.org/creator from the position of the creator --><br />
<br />
<div itemscope itemtype="http://schema.org/CreativeWork" itemref="creator"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div id="creator" itemprop="creator" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
==== Example with @itemid ====<br />
The <code>@itemid</code> attribute can be used to to create global identifiers for the object entity of the statement, to which we can then link to from the locally defined subject entity:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/CreativeWork"><br />
<link itemprop="creator" href="person"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div itemid="person" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
Both approaches are cumbersome and make authoring data markup in Microdata more complex than necessary, in particular when authoritative URIs for entities from Freebase or Wikidata are the intended subject of a statement.<br />
It is unnecessary that the subject entities from external sources like Freebase must be locally defined in order to be used as a the subject of a statement.<br />
<br />
== Proposed Action: New attribute @itemprop-reverse ==<br />
After a substantial discussion on the [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html W3C public-vocabs mailing list], <strong>we propose to extend the Microdata specification by a mechanism for reverse properties in the form of a new attribute <code>@itemprop-reverse</code>.</strong> There has been related discussion on the WHATWG mailing list on April 2014, see [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-April/254092.html here] and [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-March/254014.html here].<br />
<br />
The new attribute <code>@itemprop-reverse</code> will be equivalent to the existing <code>@itemprop</code>, except for the fact that the subject and the object of the statement are swapped.<br />
<br />
'''Example:'''<br />
<br />
E.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</span><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
The line<br />
<syntaxhighlight lang="html5"><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</syntaxhighlight><br />
<br />
expresses that <code>http://www.freebase.com/m/0yq9mqd</code> is the <code>schema:creator</code> of the person "William Shakespeare".<br />
<br />
Alternative approaches, like other attribute names (e.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>), a prefix mechanism, or a new attribute that modifies the direction of an <code>@itemprop</code> attribute have been discussed, but were considered inferior. The current approach does not create wrong data with older Microdata consumers.<br />
<br />
== Examples and Use Cases ==<br />
There are many relevant usages of a reverse property mechanism. One prominent application is using Freebase entities in markup, which will be very useful for helping search engines to recognize named entities. The current need to locally redefine a Freebase entity in your page just to be able to use it as the subject of a statement is cumbersome.<br />
<br />
=== Linking from a locally defined person to an externally defined piece of creative work ===<br />
If there is a large number of contributors to a piece of creative work (e.g. a huge choir) or an event, it may happen that we have information about the individual on many pages and want to link to the subject entity.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Peter Miller</name><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a company to its externally defined products ===<br />
schema:manufacturer is defined from a product to a person or organization, but it can also be useful the other way round (e.g. for linking from a business entity page to car models in Freebase, Wikidata or DBPedia.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Company"><br />
<span itemprop="name">Volkswagen</name><br />
<link itemprop-reverse="manufacturer" href="http://www.freebase.com/m/0274dp"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a brand to an externally defined company ===<br />
schema:brand is defined from an organization, a person or a product to a brand, but it can also be useful the other way round (e.g. for linking from a brand entity to the company in Freebase, Wikidata or DBPedia.<br />
<br />
For instance, Microsoft is the owner of the former Nokia "Lumia" brand:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Brand"><br />
<span itemprop="name">Lumia</name><br />
<link itemprop-reverse="brand" href="http://www.freebase.com/m/04sv4"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from an offer to an externally defined company ===<br />
Often, it is valuable to specify the company that makes an http://schema.org/Offer. In the original GoodRelations model, this was even a required component. If the company already has an externally defined identifier, it would be handy to reuse that.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Offer"><br />
<span itemprop="name">Book offer blabla</name><br />
<!-- other offer properties here --><br />
<!-- the offer is made by Amazon --><br />
<link itemprop-reverse="makesOffer" href="http://www.freebase.com/m/0mgkg"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Providing opening hours information for an externally defined place of interest ===<br />
There are Web sites that provide opening hours information for museums or stores. If the place has an external identifier, it would be handy to be able to link back from the opening hours information to the entity.<br />
<br />
'''Example:''' The Eiffel tower has the Freebase identifier http://www.freebase.com/m/02j81. Imagine a user-driven site with opening hours information:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/OpeningHoursSpecification"><br />
<link itemprop-reverse="openingHoursSpecification" href="http://www.freebase.com/m/02j81" /><br />
Opening hours: Mo-Fri,<br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Monday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Tuesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Wednesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Thursday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Friday" /><br />
<meta itemprop="opens" content="08:00:00">8:00 a.m. -<br />
<meta itemprop="closes" content="20:00:00">8:00 p.m.<br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a thumbnail to a full-scale image ===<br />
You can link from an ImageObject to a thumbnail (another ImageObject), but not vice versa.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ImageObject"><br />
<a itemprop-reverse="thumbnail" href="full/mexico-beach.jpg"<br />
<img src="thumbnails/mexico-beach.jpg"/><br />
</a><br />
<link itemprop="contentURL" href="thumbnails/mexico-beach.jpg" /><br />
</div> <br />
</syntaxhighlight><br />
<br />
=== Linking from member pages to an externally defined association, sports team entity, or other group ===<br />
<br />
http://schema.org/Organization defines the member (= has member) property, but we may want to express an "is member of" relationship from a single person.<br />
<br />
'''Example:''' I am a member of the ACM<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Martin Hepp</name><br />
<!-- Freebase entity for the Association for Computing Machinery --><br />
<link itemprop-reverse="member" href="http://www.freebase.com/m/0126n"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a shopping mall to the businesses contained ===<br />
<br />
http://schema.org/Place provides a <code>containedIn</code> property, but this makes it a bit complicated to model the contained businesses as child elements of the mall. With the new attribute, this variant is possible:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Restaurant"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Bakery"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
This is also a nice example of using <code>@itemprop-reverse</code> without a <code><link></code> element to an external URI.<br />
<br />
Of course, one could also use <code>@itemref</code> in this setting, but it will be more complex to understand for humans:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div id="mall" itemprop="containedIn" itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemscope itemtype="http://schema.org/Restaurant" itemref="mall"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemscope itemtype="http://schema.org/Bakery" itemref="mall"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
So the new attribute would also be useful for this case.<br />
<br />
<br />
=== Backward and forward links ===<br />
<br />
http://schema.org/Organization provides a <code>member</code> property referencing a http://schema.org/Person and http://schema.org/Person has a <code>memberOf</code> property defined as the <code>inverseOf</code> <code>member</code>. Using both <code>@itemprop</code> and <code>@itemprop-reverse</code> on the same element allows both forward and backward links to be created without introducing global identifiers:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Organization"><br />
<span itemprop="name">Cryptography Users</span><br />
<div itemprop-reverse="memberOf" itemprop="member" itemscope<br />
itemtype="http://schema.org/OrganizationRole"><br />
<div itemprop-reverse="memberOf" itemprop="member" itemscope<br />
itemtype="http://schema.org/Person"><br />
<span itemprop="name">Alice</span><br />
</div><br />
<span itemprop="startDate">1977</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
This allows a true directed graph representation with an Organization referencing a Person through a Role, which also references the Organization through the same Role, resulting in the following Turtle representation:<br />
<br />
<pre><br />
@prefix schema: <http://schema.org/> .<br />
@prefix md: <http://www.w3.org/ns/md#> .<br />
<br />
_:org a schema:Organization;<br />
schema:name "Cryptography Users";<br />
schema:member _:role .<br />
_:role a schema:OrganizationRole;<br />
schema:startDate "1977";<br />
schema:member _:person;<br />
schema:memberOf _:org .<br />
_:person a schema:Person;<br />
schema:name "Alice";<br />
schema:memberOf _:role .<br />
</pre></div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas/InverseProperties&diff=75107WebSchemas/InverseProperties2014-08-02T20:30:24Z<p>Gkellogg: /* Proposed Action: New attribute @itemprop-reverse */</p>
<hr />
<div>= Inverse Properties in Web Schemas =<br />
<br />
It has been [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html recently argued on the W3C public-vocabs mailing list] that <br />
<br />
# some properties are needed in both directions (e.g. the relationhip between Person and CreativeWork as both CreativeWork hasCreator Author and Author isCreatorOf CreativeWork), and<br />
# that this should be addressed at the level of syntaxes for Web data, and not by defining inverse properties in the vocabularies.<br />
<br />
In the following discussion, many relevant use-cases have been documented in which existing schema.org properties are needed in the opposite direction (see below for examples).<br />
<br />
== Support in Relevant Syntaxes ==<br />
===RDFa, JSON-LD, and Turtle ===<br />
In RDFa, JSON-LD, and Turtle (and likely other syntaxes in use for Web vocabularies), there are mechanisms in place that allow for using the same property in both directions, i.e. the primary direction, for which the property is defined in the original vocabulary, and the reverse direction (effectively swapping subject and object):<br />
<br />
*'''RDFa:''' @rev vs. @rel<br />
*'''JSON-LD:''' @reverse keyword, as defined in http://www.w3.org/TR/json-ld/#reverse-properties.<br />
*'''Turtle:''' Use of a separate statement <subject> <predicate> <object>. (Note using a property with the current node as the object of a statement is limited for BNodes - it is only possible for [http://www.w3.org/TR/2014/REC-turtle-20140225/#BNodes labeled blank nodes] (_:node123), not for unlabeled blank nodes.<br />
=== Microdata ===<br />
As of today, '''Microdata does not support a similar mechanism'''. The only two currently supported patters are to use <code>@itemref</code>, <code>@itemid</code>, or a combination of both.<br />
==== Example with @itemref ====<br />
<syntaxhighlight lang="html5"><br />
<!-- Example of using http://schema.org/creator from the position of the creator --><br />
<br />
<div itemscope itemtype="http://schema.org/CreativeWork" itemref="creator"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div id="creator" itemprop="creator" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
==== Example with @itemid ====<br />
The <code>@itemid</code> attribute can be used to to create global identifiers for the object entity of the statement, to which we can then link to from the locally defined subject entity:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/CreativeWork"><br />
<link itemprop="creator" href="person"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div itemid="person" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
Both approaches are cumbersome and make authoring data markup in Microdata more complex than necessary, in particular when authoritative URIs for entities from Freebase or Wikidata are the intended subject of a statement.<br />
It is unnecessary that the subject entities from external sources like Freebase must be locally defined in order to be used as a the subject of a statement.<br />
<br />
== Proposed Action: New attribute @itemprop-reverse ==<br />
After a substantial discussion on the [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html W3C public-vocabs mailing list], <strong>we propose to extend the Microdata specification by a mechanism for reverse properties in the form of a new attribute <code>@itemprop-reverse</code>.</strong> There has been related discussion on the WHATWG mailing list on April 2014, see [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-April/254092.html here] and [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-March/254014.html here].<br />
<br />
The new attribute <code>@itemprop-reverse</code> will be equivalent to the existing <code>@itemprop</code>, except for the fact that the subject and the object of the statement are swapped.<br />
<br />
'''Example:'''<br />
<br />
E.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</span><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
The line<br />
<syntaxhighlight lang="html5"><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</syntaxhighlight><br />
<br />
expresses that <code>http://www.freebase.com/m/0yq9mqd</code> is the <code>schema:creator</code> of the person "William Shakespeare".<br />
<br />
Alternative approaches, like other attribute names (e.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>), a prefix mechanism, or a new attribute that modifies the direction of an <code>@itemprop</code> attribute have been discussed, but were considered inferior. The current approach does not create wrong data with older Microdata consumers.<br />
<br />
Note that an element '''must not''' contain both <code>@itemprop</code> and <code>@itemprop-reverse</code> attributes.<br />
<br />
== Examples and Use Cases ==<br />
There are many relevant usages of a reverse property mechanism. One prominent application is using Freebase entities in markup, which will be very useful for helping search engines to recognize named entities. The current need to locally redefine a Freebase entity in your page just to be able to use it as the subject of a statement is cumbersome.<br />
<br />
=== Linking from a locally defined person to an externally defined piece of creative work ===<br />
If there is a large number of contributors to a piece of creative work (e.g. a huge choir) or an event, it may happen that we have information about the individual on many pages and want to link to the subject entity.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Peter Miller</name><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a company to its externally defined products ===<br />
schema:manufacturer is defined from a product to a person or organization, but it can also be useful the other way round (e.g. for linking from a business entity page to car models in Freebase, Wikidata or DBPedia.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Company"><br />
<span itemprop="name">Volkswagen</name><br />
<link itemprop-reverse="manufacturer" href="http://www.freebase.com/m/0274dp"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a brand to an externally defined company ===<br />
schema:brand is defined from an organization, a person or a product to a brand, but it can also be useful the other way round (e.g. for linking from a brand entity to the company in Freebase, Wikidata or DBPedia.<br />
<br />
For instance, Microsoft is the owner of the former Nokia "Lumia" brand:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Brand"><br />
<span itemprop="name">Lumia</name><br />
<link itemprop-reverse="brand" href="http://www.freebase.com/m/04sv4"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from an offer to an externally defined company ===<br />
Often, it is valuable to specify the company that makes an http://schema.org/Offer. In the original GoodRelations model, this was even a required component. If the company already has an externally defined identifier, it would be handy to reuse that.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Offer"><br />
<span itemprop="name">Book offer blabla</name><br />
<!-- other offer properties here --><br />
<!-- the offer is made by Amazon --><br />
<link itemprop-reverse="makesOffer" href="http://www.freebase.com/m/0mgkg"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Providing opening hours information for an externally defined place of interest ===<br />
There are Web sites that provide opening hours information for museums or stores. If the place has an external identifier, it would be handy to be able to link back from the opening hours information to the entity.<br />
<br />
'''Example:''' The Eiffel tower has the Freebase identifier http://www.freebase.com/m/02j81. Imagine a user-driven site with opening hours information:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/OpeningHoursSpecification"><br />
<link itemprop-reverse="openingHoursSpecification" href="http://www.freebase.com/m/02j81" /><br />
Opening hours: Mo-Fri,<br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Monday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Tuesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Wednesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Thursday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Friday" /><br />
<meta itemprop="opens" content="08:00:00">8:00 a.m. -<br />
<meta itemprop="closes" content="20:00:00">8:00 p.m.<br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a thumbnail to a full-scale image ===<br />
You can link from an ImageObject to a thumbnail (another ImageObject), but not vice versa.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ImageObject"><br />
<a itemprop-reverse="thumbnail" href="full/mexico-beach.jpg"<br />
<img src="thumbnails/mexico-beach.jpg"/><br />
</a><br />
<link itemprop="contentURL" href="thumbnails/mexico-beach.jpg" /><br />
</div> <br />
</syntaxhighlight><br />
<br />
=== Linking from member pages to an externally defined association, sports team entity, or other group ===<br />
<br />
http://schema.org/Organization defines the member (= has member) property, but we may want to express an "is member of" relationship from a single person.<br />
<br />
'''Example:''' I am a member of the ACM<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Martin Hepp</name><br />
<!-- Freebase entity for the Association for Computing Machinery --><br />
<link itemprop-reverse="member" href="http://www.freebase.com/m/0126n"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a shopping mall to the businesses contained ===<br />
<br />
http://schema.org/Place provides a <code>containedIn</code> property, but this makes it a bit complicated to model the contained businesses as child elements of the mall. With the new attribute, this variant is possible:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Restaurant"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Bakery"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
This is also a nice example of using <code>@itemprop-reverse</code> without a <code><link></code> element to an external URI.<br />
<br />
Of course, one could also use <code>@itemref</code> in this setting, but it will be more complex to understand for humans:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div id="mall" itemprop="containedIn" itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemscope itemtype="http://schema.org/Restaurant" itemref="mall"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemscope itemtype="http://schema.org/Bakery" itemref="mall"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
So the new attribute would also be useful for this case.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas/InverseProperties&diff=75106WebSchemas/InverseProperties2014-08-02T20:29:54Z<p>Gkellogg: Clarify that @itemprop-reverse must not be used on the same element as @itemprop.</p>
<hr />
<div>= Inverse Properties in Web Schemas =<br />
<br />
It has been [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html recently argued on the W3C public-vocabs mailing list] that <br />
<br />
# some properties are needed in both directions (e.g. the relationhip between Person and CreativeWork as both CreativeWork hasCreator Author and Author isCreatorOf CreativeWork), and<br />
# that this should be addressed at the level of syntaxes for Web data, and not by defining inverse properties in the vocabularies.<br />
<br />
In the following discussion, many relevant use-cases have been documented in which existing schema.org properties are needed in the opposite direction (see below for examples).<br />
<br />
== Support in Relevant Syntaxes ==<br />
===RDFa, JSON-LD, and Turtle ===<br />
In RDFa, JSON-LD, and Turtle (and likely other syntaxes in use for Web vocabularies), there are mechanisms in place that allow for using the same property in both directions, i.e. the primary direction, for which the property is defined in the original vocabulary, and the reverse direction (effectively swapping subject and object):<br />
<br />
*'''RDFa:''' @rev vs. @rel<br />
*'''JSON-LD:''' @reverse keyword, as defined in http://www.w3.org/TR/json-ld/#reverse-properties.<br />
*'''Turtle:''' Use of a separate statement <subject> <predicate> <object>. (Note using a property with the current node as the object of a statement is limited for BNodes - it is only possible for [http://www.w3.org/TR/2014/REC-turtle-20140225/#BNodes labeled blank nodes] (_:node123), not for unlabeled blank nodes.<br />
=== Microdata ===<br />
As of today, '''Microdata does not support a similar mechanism'''. The only two currently supported patters are to use <code>@itemref</code>, <code>@itemid</code>, or a combination of both.<br />
==== Example with @itemref ====<br />
<syntaxhighlight lang="html5"><br />
<!-- Example of using http://schema.org/creator from the position of the creator --><br />
<br />
<div itemscope itemtype="http://schema.org/CreativeWork" itemref="creator"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div id="creator" itemprop="creator" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
==== Example with @itemid ====<br />
The <code>@itemid</code> attribute can be used to to create global identifiers for the object entity of the statement, to which we can then link to from the locally defined subject entity:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/CreativeWork"><br />
<link itemprop="creator" href="person"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div itemid="person" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
Both approaches are cumbersome and make authoring data markup in Microdata more complex than necessary, in particular when authoritative URIs for entities from Freebase or Wikidata are the intended subject of a statement.<br />
It is unnecessary that the subject entities from external sources like Freebase must be locally defined in order to be used as a the subject of a statement.<br />
<br />
== Proposed Action: New attribute @itemprop-reverse ==<br />
After a substantial discussion on the [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html W3C public-vocabs mailing list], <strong>we propose to extend the Microdata specification by a mechanism for reverse properties in the form of a new attribute <code>@itemprop-reverse</code>.</strong> There has been related discussion on the WHATWG mailing list on April 2014, see [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-April/254092.html here] and [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-March/254014.html here].<br />
<br />
The new attribute <code>@itemprop-reverse</code> will be equivalent to the existing <code>@itemprop</code>, except for the fact that the subject and the object of the statement are swapped.<br />
<br />
'''Example:'''<br />
<br />
E.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</span><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
The line<br />
<syntaxhighlight lang="html5"><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</syntaxhighlight><br />
<br />
expresses that <code>http://www.freebase.com/m/0yq9mqd</code> is the <code>schema:creator</code> of the person "William Shakespeare".<br />
<br />
Alternative approaches, like other attribute names (e.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>), a prefix mechanism, or a new attribute that modifies the direction of an <code>@itemprop</code> attribute have been discussed, but were considered inferior. The current approach does not create wrong data with older Microdata consumers.<br />
<br />
Note that an element __must not__ contain both <code>@itemprop</code> and <code>@itemprop-reverse</code> attributes.<br />
<br />
== Examples and Use Cases ==<br />
There are many relevant usages of a reverse property mechanism. One prominent application is using Freebase entities in markup, which will be very useful for helping search engines to recognize named entities. The current need to locally redefine a Freebase entity in your page just to be able to use it as the subject of a statement is cumbersome.<br />
<br />
=== Linking from a locally defined person to an externally defined piece of creative work ===<br />
If there is a large number of contributors to a piece of creative work (e.g. a huge choir) or an event, it may happen that we have information about the individual on many pages and want to link to the subject entity.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Peter Miller</name><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a company to its externally defined products ===<br />
schema:manufacturer is defined from a product to a person or organization, but it can also be useful the other way round (e.g. for linking from a business entity page to car models in Freebase, Wikidata or DBPedia.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Company"><br />
<span itemprop="name">Volkswagen</name><br />
<link itemprop-reverse="manufacturer" href="http://www.freebase.com/m/0274dp"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a brand to an externally defined company ===<br />
schema:brand is defined from an organization, a person or a product to a brand, but it can also be useful the other way round (e.g. for linking from a brand entity to the company in Freebase, Wikidata or DBPedia.<br />
<br />
For instance, Microsoft is the owner of the former Nokia "Lumia" brand:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Brand"><br />
<span itemprop="name">Lumia</name><br />
<link itemprop-reverse="brand" href="http://www.freebase.com/m/04sv4"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from an offer to an externally defined company ===<br />
Often, it is valuable to specify the company that makes an http://schema.org/Offer. In the original GoodRelations model, this was even a required component. If the company already has an externally defined identifier, it would be handy to reuse that.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Offer"><br />
<span itemprop="name">Book offer blabla</name><br />
<!-- other offer properties here --><br />
<!-- the offer is made by Amazon --><br />
<link itemprop-reverse="makesOffer" href="http://www.freebase.com/m/0mgkg"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Providing opening hours information for an externally defined place of interest ===<br />
There are Web sites that provide opening hours information for museums or stores. If the place has an external identifier, it would be handy to be able to link back from the opening hours information to the entity.<br />
<br />
'''Example:''' The Eiffel tower has the Freebase identifier http://www.freebase.com/m/02j81. Imagine a user-driven site with opening hours information:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/OpeningHoursSpecification"><br />
<link itemprop-reverse="openingHoursSpecification" href="http://www.freebase.com/m/02j81" /><br />
Opening hours: Mo-Fri,<br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Monday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Tuesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Wednesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Thursday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Friday" /><br />
<meta itemprop="opens" content="08:00:00">8:00 a.m. -<br />
<meta itemprop="closes" content="20:00:00">8:00 p.m.<br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a thumbnail to a full-scale image ===<br />
You can link from an ImageObject to a thumbnail (another ImageObject), but not vice versa.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ImageObject"><br />
<a itemprop-reverse="thumbnail" href="full/mexico-beach.jpg"<br />
<img src="thumbnails/mexico-beach.jpg"/><br />
</a><br />
<link itemprop="contentURL" href="thumbnails/mexico-beach.jpg" /><br />
</div> <br />
</syntaxhighlight><br />
<br />
=== Linking from member pages to an externally defined association, sports team entity, or other group ===<br />
<br />
http://schema.org/Organization defines the member (= has member) property, but we may want to express an "is member of" relationship from a single person.<br />
<br />
'''Example:''' I am a member of the ACM<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Martin Hepp</name><br />
<!-- Freebase entity for the Association for Computing Machinery --><br />
<link itemprop-reverse="member" href="http://www.freebase.com/m/0126n"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a shopping mall to the businesses contained ===<br />
<br />
http://schema.org/Place provides a <code>containedIn</code> property, but this makes it a bit complicated to model the contained businesses as child elements of the mall. With the new attribute, this variant is possible:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Restaurant"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Bakery"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
This is also a nice example of using <code>@itemprop-reverse</code> without a <code><link></code> element to an external URI.<br />
<br />
Of course, one could also use <code>@itemref</code> in this setting, but it will be more complex to understand for humans:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div id="mall" itemprop="containedIn" itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemscope itemtype="http://schema.org/Restaurant" itemref="mall"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemscope itemtype="http://schema.org/Bakery" itemref="mall"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
So the new attribute would also be useful for this case.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas/InverseProperties&diff=75105WebSchemas/InverseProperties2014-08-02T20:28:38Z<p>Gkellogg: Fix markup of first @itemprop-reverse example.</p>
<hr />
<div>= Inverse Properties in Web Schemas =<br />
<br />
It has been [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html recently argued on the W3C public-vocabs mailing list] that <br />
<br />
# some properties are needed in both directions (e.g. the relationhip between Person and CreativeWork as both CreativeWork hasCreator Author and Author isCreatorOf CreativeWork), and<br />
# that this should be addressed at the level of syntaxes for Web data, and not by defining inverse properties in the vocabularies.<br />
<br />
In the following discussion, many relevant use-cases have been documented in which existing schema.org properties are needed in the opposite direction (see below for examples).<br />
<br />
== Support in Relevant Syntaxes ==<br />
===RDFa, JSON-LD, and Turtle ===<br />
In RDFa, JSON-LD, and Turtle (and likely other syntaxes in use for Web vocabularies), there are mechanisms in place that allow for using the same property in both directions, i.e. the primary direction, for which the property is defined in the original vocabulary, and the reverse direction (effectively swapping subject and object):<br />
<br />
*'''RDFa:''' @rev vs. @rel<br />
*'''JSON-LD:''' @reverse keyword, as defined in http://www.w3.org/TR/json-ld/#reverse-properties.<br />
*'''Turtle:''' Use of a separate statement <subject> <predicate> <object>. (Note using a property with the current node as the object of a statement is limited for BNodes - it is only possible for [http://www.w3.org/TR/2014/REC-turtle-20140225/#BNodes labeled blank nodes] (_:node123), not for unlabeled blank nodes.<br />
=== Microdata ===<br />
As of today, '''Microdata does not support a similar mechanism'''. The only two currently supported patters are to use <code>@itemref</code>, <code>@itemid</code>, or a combination of both.<br />
==== Example with @itemref ====<br />
<syntaxhighlight lang="html5"><br />
<!-- Example of using http://schema.org/creator from the position of the creator --><br />
<br />
<div itemscope itemtype="http://schema.org/CreativeWork" itemref="creator"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div id="creator" itemprop="creator" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
==== Example with @itemid ====<br />
The <code>@itemid</code> attribute can be used to to create global identifiers for the object entity of the statement, to which we can then link to from the locally defined subject entity:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/CreativeWork"><br />
<link itemprop="creator" href="person"><br />
<!-- Freebase URI for Romeo and Juliet --><br />
<link itemprop="sameAs" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
<br />
<div itemid="person" itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</name><br />
</div><br />
</syntaxhighlight><br />
<br />
Both approaches are cumbersome and make authoring data markup in Microdata more complex than necessary, in particular when authoritative URIs for entities from Freebase or Wikidata are the intended subject of a statement.<br />
It is unnecessary that the subject entities from external sources like Freebase must be locally defined in order to be used as a the subject of a statement.<br />
<br />
== Proposed Action: New attribute @itemprop-reverse ==<br />
After a substantial discussion on the [http://lists.w3.org/Archives/Public/public-vocabs/2014Apr/0200.html W3C public-vocabs mailing list], <strong>we propose to extend the Microdata specification by a mechanism for reverse properties in the form of a new attribute <code>@itemprop-reverse</code>.</strong> There has been related discussion on the WHATWG mailing list on April 2014, see [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-April/254092.html here] and [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-March/254014.html here].<br />
<br />
The new attribute <code>@itemprop-reverse</code> will be equivalent to the existing <code>@itemprop</code>, except for the fact that the subject and the object of the statement are swapped.<br />
<br />
'''Example:'''<br />
<br />
E.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">William Shakespeare</span><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
The line<br />
<syntaxhighlight lang="html5"><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</syntaxhighlight><br />
<br />
expresses that <code>http://www.freebase.com/m/0yq9mqd</code> is the <code>schema:creator</code> of the person "William Shakespeare".<br />
<br />
Alternative approaches, like other attribute names (e.g. <code>@itemreverseprop, @itempropback, @itemvalueof, or @itemisvalueof</code>), a prefix mechanism, or a new attribute that modifies the direction of an <code>@itemprop</code> attribute have been discussed, but were considered inferior. The current approach does not create wrong data with older Microdata consumers.<br />
<br />
== Examples and Use Cases ==<br />
There are many relevant usages of a reverse property mechanism. One prominent application is using Freebase entities in markup, which will be very useful for helping search engines to recognize named entities. The current need to locally redefine a Freebase entity in your page just to be able to use it as the subject of a statement is cumbersome.<br />
<br />
=== Linking from a locally defined person to an externally defined piece of creative work ===<br />
If there is a large number of contributors to a piece of creative work (e.g. a huge choir) or an event, it may happen that we have information about the individual on many pages and want to link to the subject entity.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Peter Miller</name><br />
<link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a company to its externally defined products ===<br />
schema:manufacturer is defined from a product to a person or organization, but it can also be useful the other way round (e.g. for linking from a business entity page to car models in Freebase, Wikidata or DBPedia.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Company"><br />
<span itemprop="name">Volkswagen</name><br />
<link itemprop-reverse="manufacturer" href="http://www.freebase.com/m/0274dp"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a brand to an externally defined company ===<br />
schema:brand is defined from an organization, a person or a product to a brand, but it can also be useful the other way round (e.g. for linking from a brand entity to the company in Freebase, Wikidata or DBPedia.<br />
<br />
For instance, Microsoft is the owner of the former Nokia "Lumia" brand:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Brand"><br />
<span itemprop="name">Lumia</name><br />
<link itemprop-reverse="brand" href="http://www.freebase.com/m/04sv4"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from an offer to an externally defined company ===<br />
Often, it is valuable to specify the company that makes an http://schema.org/Offer. In the original GoodRelations model, this was even a required component. If the company already has an externally defined identifier, it would be handy to reuse that.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Offer"><br />
<span itemprop="name">Book offer blabla</name><br />
<!-- other offer properties here --><br />
<!-- the offer is made by Amazon --><br />
<link itemprop-reverse="makesOffer" href="http://www.freebase.com/m/0mgkg"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Providing opening hours information for an externally defined place of interest ===<br />
There are Web sites that provide opening hours information for museums or stores. If the place has an external identifier, it would be handy to be able to link back from the opening hours information to the entity.<br />
<br />
'''Example:''' The Eiffel tower has the Freebase identifier http://www.freebase.com/m/02j81. Imagine a user-driven site with opening hours information:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/OpeningHoursSpecification"><br />
<link itemprop-reverse="openingHoursSpecification" href="http://www.freebase.com/m/02j81" /><br />
Opening hours: Mo-Fri,<br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Monday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Tuesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Wednesday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Thursday" /><br />
<link itemprop="dayOfWeek" <br />
href="http://purl.org/goodrelations/v1#Friday" /><br />
<meta itemprop="opens" content="08:00:00">8:00 a.m. -<br />
<meta itemprop="closes" content="20:00:00">8:00 p.m.<br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a thumbnail to a full-scale image ===<br />
You can link from an ImageObject to a thumbnail (another ImageObject), but not vice versa.<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ImageObject"><br />
<a itemprop-reverse="thumbnail" href="full/mexico-beach.jpg"<br />
<img src="thumbnails/mexico-beach.jpg"/><br />
</a><br />
<link itemprop="contentURL" href="thumbnails/mexico-beach.jpg" /><br />
</div> <br />
</syntaxhighlight><br />
<br />
=== Linking from member pages to an externally defined association, sports team entity, or other group ===<br />
<br />
http://schema.org/Organization defines the member (= has member) property, but we may want to express an "is member of" relationship from a single person.<br />
<br />
'''Example:''' I am a member of the ACM<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/Person"><br />
<span itemprop="name">Martin Hepp</name><br />
<!-- Freebase entity for the Association for Computing Machinery --><br />
<link itemprop-reverse="member" href="http://www.freebase.com/m/0126n"><br />
</div><br />
</syntaxhighlight><br />
<br />
=== Linking from a shopping mall to the businesses contained ===<br />
<br />
http://schema.org/Place provides a <code>containedIn</code> property, but this makes it a bit complicated to model the contained businesses as child elements of the mall. With the new attribute, this variant is possible:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Restaurant"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemprop-reverse="containedIn" itemscope itemtype="http://schema.org/Bakery"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
This is also a nice example of using <code>@itemprop-reverse</code> without a <code><link></code> element to an external URI.<br />
<br />
Of course, one could also use <code>@itemref</code> in this setting, but it will be more complex to understand for humans:<br />
<br />
<syntaxhighlight lang="html5"><br />
<div id="mall" itemprop="containedIn" itemscope itemtype="http://schema.org/ShoppingCenter"><br />
<span itemprop="name">The ACME Shopping Mall on Structured Data Avenue</span><br />
<span itemprop="description">The ACME Shopping Mall is your one-stop paradise for all data-related shopping needs, from schemas to instance data</span><br />
<p>Here is a list of shops inside:</p><br />
<div itemscope itemtype="http://schema.org/Restaurant" itemref="mall"><br />
<span itemprop="name">Dan Brickley's Data Restaurant</span><br />
</div><br />
<div itemscope itemtype="http://schema.org/Bakery" itemref="mall"><br />
<span itemprop="name">Ramanathan Guha's Meta Content Framework Bakery</span><br />
</div><br />
</div><br />
</syntaxhighlight><br />
<br />
So the new attribute would also be useful for this case.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas/Sports&diff=72056WebSchemas/Sports2014-02-19T21:41:02Z<p>Gkellogg: Add description of YourSports type hierarchy</p>
<hr />
<div>{{Template:SchemaDotOrgProposal|name=Sports schema|status=Work in progress}}<br />
<br />
<br />
== Overview ==<br />
<br />
Collaborative work towards an extension to [http://schema.org/ schema.org] supporting more detailed Sports semantic annotation scenarios.<br />
<br />
Initial work was made towards a proposal in early 2013 but stalled after a few months. Work was resumed in the fall of 2013 and is based on that prior work which includes:<br />
* [http://lists.w3.org/Archives/Public/public-vocabs/2012Jan/0027.html query from Paul Kelly] ([http://dev.iptc.org/SportML-Getting-started SportsML])<br />
* [http://insidesearch.blogspot.com/2011/08/microdata-sports-stats-happy-fans.html Microdata + Sports Stats] post describing earlier ESPN/Google collaboration<br />
* [http://www.bbc.co.uk/ontologies/sport/2011-02-17.shtml Sports Ontology] used by BBC, Press Association and others.<br />
<br />
== Proposals ==<br />
<br />
* Posted February 19 2014 - exported PDF<br />
** [[File:YourSportsTypeHierarchy.pdf||YourSports Type Hierarchy v1]]<br />
** Description of http://yoursports.com/ extension to schema.org<br />
** [[User:Gkellogg|Gregg Kellogg]] ([[User talk:Gkellogg|talk]]) 21:41, 19 February 2014 (UTC)<br />
<br/><br />
<br />
* Posted February 12 2014 - exported PDF<br />
** [[File:2014SportsVocabularyProposalv2.pdf|2014SportsVocabularyProposalv2.pdf]]<br />
** Updated with changes around statistics and competition results. See change log at bottom of document.<br />
<br /><br />
<br />
* Posted January 30 2014 - exported PDF<br />
** [[File:2014SportsExtensionProposal.pdf|2014SportsExtensionProposal.pdf]]<br />
** This is the latest proposal based on the renewed work from fall of 2013 through January of 2014<br />
<br /><br />
<br />
* Posted March 2 2012, PDF exported (by danbri@danbri.org) from original Word .doc: [[File:Schema-sports-vocabulary-final_20120301.pdf|Schema-sports-vocabulary-final_20120301.pdf]]<br />
** This vocabulary documents the [http://insidesearch.blogspot.com/2011/08/microdata-sports-stats-happy-fans.html Microdata + Sports Stats] collaboration between ESPN and Google, and is posted here as a contribution towards shared vocabulary development.<br />
** HTML extracted from the source PDF has now been posted as several pages listed under 'Samples'<br />
** Todo: excerpt/summary for Wiki<br />
* discussion: see [https://groups.google.com/forum/#!forum/sports-schema-collab sports-schema-collab] mailing list, as well as public-vocabs.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=File:YourSportsTypeHierarchy.pdf&diff=72055File:YourSportsTypeHierarchy.pdf2014-02-19T21:34:11Z<p>Gkellogg: Description of the YourSports extension to schema.org for describing sports relationships.</p>
<hr />
<div>Description of the YourSports extension to schema.org for describing sports relationships.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=WebSchemas&diff=71667WebSchemas2014-01-22T18:22:19Z<p>Gkellogg: Added Structured Data Linter to validators list.</p>
<hr />
<div>=Web Schemas=<br />
<br />
* For [http://schema.org schema.org]'s proposals tracker, see [[WebSchemas/SchemaDotOrgProposals|Extension proposals]] and [https://dvcs.w3.org/hg/webschema/raw-file/default/schema.org/drafts/changes.html changes.html] ([https://www.w3.org/2000/09/dbwg/details?group=49967 W3C database entry])<br />
* Web Schemas is a [http://lists.w3.org/Archives/Public/public-html-data-tf/ W3C group] used by the [http://schema.org/ schema.org] project to collaborate with the wider community.<br />
* The group is not just for schema.org; however there is more traffic here about schema.org because it is the only schema.org mailing lists. ''Other projects/vocabularies are very welcome also''!<br />
<br />
==Introduction==<br />
<br />
This is the main Wiki page for W3C's [http://www.w3.org/2001/sw/interest/ Semantic Web Interest Group] ''Web Schemas'' task force. Amongst other roles, it serves as a public discussion forum for [http://schema.org/ Schema.org], including [[WebSchemas/SchemaDotOrgProposals|Extension proposals]].<br />
<br />
The taskforce chairs are R.V.Guha (Google) and [http://www.w3.org/wiki/User:Danbri Dan Brickley] (Vrije Universiteit Amsterdam and Google)<br />
<br />
In scope include collaborations on mappings, tools, extensibility and cross-syntax interoperability. An [http://www.w3.org/wiki/Html-data-tf HTML Data] group is nearby (see also [http://lists.w3.org/Archives/Public/public-html-data-tf/ public-html-data-tf list]); detailed discussion about Web data syntax belongs there.<br />
<br />
See the [http://www.w3.org/2001/sw/interest/webschema.html charter] for more details. <br />
<br />
The group uses the '''public-vocabs@w3.org''' mailing list<br />
<br />
* See [http://lists.w3.org/Archives/Public/public-vocabs/ public-vocabs@w3.org archives]<br />
* [http://www.w3.org/2011/webschema/track/ Issue Tracker] (organized into "Feedback on X" products/categories, where Xs are Schemas we're discussing)<br />
* To subscribe, send a message to public-vocabs-request@w3.org with Subject: subscribe (see [http://lists.w3.org/ lists.w3.org] for more details). To unsubscribe, do the same but use 'unsubscribe' in the title.<br />
* If you are new to the W3C community, you will need to go through the [http://www.w3.org/2002/09/aa/ archive approval] process before your posts show up in the archives.<br />
* To edit this wiki, you'll need a W3C account; these are [http://www.w3.org/Help/Account/Request/Public available to all]<br />
* To search just this WebSchemas wiki, the issue tracker and schema.org-related mailing lists, try a [http://www.google.com/cse/home?cx=003736913799082383568:c44bi0_xxek a custom search].<br />
<br />
Groups who maintain Web Schemas are welcome to use this forum as a feedback channel, in additional to whatever independent mechanisms they also offer.<br />
<br />
In particular, the Schema.org initiative has [http://blog.schema.org/2011/10/w3c-web-schemas-group-is-our-new-public.html adopted] this group as its primary public feedback forum. Others are invited to do likewise.<br />
<br />
Any W3C-related questions, ask Dan Brickley (SWIG chair), c/o danbri@danbri.org<br />
<br />
==Discussion Elsewhere==<br />
<br />
For background discussion on this group, Schema.org and W3C's SWIG, the Oct 2011 [http://semanticweb.com/the-semantic-link-%E2%80%93-episode-11-october-2011_b23961 Semantic Link] podcast may be of interest.<br />
<br />
The Dublin Core Metadata Initiative has a related task group working on [http://wiki.dublincore.org/index.php/Schema.org_Alignment Schema.org Alignment], alongside existing vocabulary collaboration work [http://dublincore.org/documents/dcmi-foaf/ with FOAF].<br />
<br />
For schema.org there are discussions on various sites (unofficial; this group is the only place monitored by Schema.org team) :<br />
<br />
* [https://twitter.com/#!/search/schema.org on Twitter]<br />
* [https://plus.google.com/s/schema.org on G+]<br />
* [http://stackoverflow.com/questions/tagged/schema.org schema.org tag on Stack Overflow]<br />
* [http://answers.semanticweb.com/search/?q=schema.org&Submit=search&t=question answers.semanticweb.com]<br />
* [http://www.quora.com/Schema-org Schema.org on Quora]<br />
<br />
==Proposals from and for Schema.org==<br />
<br />
The main table for managing/tracking schema.org proposals is maintained here: [[WebSchemas/SchemaDotOrgProposals|Schema.org Proposals]]<br />
<br />
A separate entry discussed [http://www.w3.org/wiki/SchemaDotOrgProcess Schema.org Process] as it relates to this group.<br />
<br />
Possible future discussions for Schema.org extensions (proposals welcomed; this list is free-form...):<br />
<br />
* Points of Interest (POIs), collab with W3C group. See [http://www.w3.org/2010/POI/wiki/Data_Model data model], [http://www.w3.org/2010/POI/wiki/Use_Cases#Generic_Points_of_Interest_Use_Cases examples], [http://www.w3.org/2010/POI/documents/Core/latest latest spec draft].<br />
* Journals / scholarly publishing<br />
* Magazines<br />
* Cultural heritage - libraries, museums, archives. See [http://www.w3.org/2005/Incubator/lld/ Linked Library W3C group], [http://www.europeana.eu/portal/ Europeana], [http://cyber.law.harvard.edu/dpla/Main_Page DPLA], [http://lod-lam.net/summit/ LOD-LAM] etc.<br />
* Bibliographic [http://www.w3.org/community/schemabibex/ Schema Bib Extend]<br />
* Integration of constructs based on Good Relations, FOAF, Dublin Core, ...<br />
* [http://www.w3.org/2011/gld/wiki/Main_Page Linked Govt data]<br />
* Software / Apps<br />
* Health/Medicine<br />
* Cars and Vehicles<br />
* ''the relationships between all of these''<br />
<br />
==Tools and Statistics==<br />
<br />
* Statistics<br />
** [http://lists.w3.org/Archives/Public/public-vocabs/2012Apr/0018.html Metadata statistics from Yahoo! Search]<br />
** [http://www.webdatacommons.org/2012-08/stats/stats.html RDFa, Microdata and Microformat deployment statistics from WebDataCommons.org (August 2012)]<br />
** [http://sindice.com/stats/basic-stats/# Sindice stats] ([http://lists.w3.org/Archives/Public/public-vocabs/2012Apr/0020.html announcement])<br />
** [http://lists.w3.org/Archives/Public/public-vocabs/2012Apr/ General stats discussion] incl. Bizer et al.'s CommonCrawl extraction ([http://lists.w3.org/Archives/Public/public-vocabs/2012Apr/0029.html announcement]); there is some [http://lists.w3.org/Archives/Public/public-vocabs/2012Apr/0016.html debate about shortcomings of this analysis and the proper interpretation of these].<br />
* Validators<br />
** [http://www.google.com/webmasters/tools/richsnippets Google richsnippets tool]<br />
** [http://www.bing.com/toolbox/EntityExtraction Microsoft Bing Markup Validator] (entity extractor)<br />
** [http://webmaster.yandex.ru/microtest.xml Yandex checker]<br />
** [http://linter.structured-data.org/ Structured Data Linter]<br />
* Search Tools<br />
** [http://www.google.com/cse/home?cx=003736913799082383568:c44bi0_xxek Google custom search] of schema.org/webschema-related sites. ([http://www.google.com/search?start=0&num=10&q=MediaObject&client=google-csbe&output=xml_no_dtd&cx=003736913799082383568:c44bi0_xxek XML results] are also [https://developers.google.com/custom-search/docs/xml_results?hl=en#WebSearch_Request_Format available])<br />
** [http://www.raymondcamden.com/index.cfm/2012/11/26/Reading-Microdata-Elements-in-Chrome reading microdata in Chrome]<br />
* Authoring Tools<br />
** [http://rdface.aksw.org RDFaCE]<br />
** [http://schema-creator.org/ Schema Creator]<br />
** [http://www.microdatagenerator.com/ Schema.org Generator | Microdata Generator ]<br />
* Vocabulary QA<br />
** Sandro Hawke made a [https://gist.github.com/sandhawke/5691972 list of 'overloaded' schema.org properties] that expect somethings a Thing, sometimes a Text value.<br />
<br />
==Mappings==<br />
<br />
Mappings between various vocabularies of interest on the Web Schemas list. The following are mostly using schema.org as a hub, but others would be great to collect too.<br />
<br />
* [http://www.mkbergman.com/999/new-umbel-release-gains-schema-org-geonames-capabilities/ UMBEL] schema.org mappings (data is in [https://github.com/structureddynamics/UMBEL/blob/master/External%20Ontologies/schema.org.n3 github])<br />
* [http://wiki.dublincore.org/index.php/Schema.org_Alignment Dublin Core / Schema.org Allignment taskforce].<br />
* [http://schema.rdfs.org/mappings.html schema.rdfs.org mapping page].<br />
** [http://schema.rdfs.org/mappings/sioc SIOC mappings]<br />
** [http://mappings.dbpedia.org/server/ontology/export DBpedia mappings file] (download; includes schema.org)<br />
** [http://schema.rdfs.org/mappings/bibo bibo]<br />
** [[GoodRelations]] integration is underway<br />
** [http://schema.rdfs.org/mappings/schemaorg_wn.owl Wordnet]<br />
* A discussion note on [[WebSchemas/SchemaDotOrgOData|schema.org and OData]] is available.<br />
<br />
==Markup examples==<br />
<br />
This group is about vocabulary (schemas) rather than specific markup syntax details. However since syntax specs are evolving in parallel, there are often discussions that need to mix syntax and vocabulary issues.<br />
<br />
* from structured-data.org, some [http://linter.structured-data.org/examples/ examples] showing RDFa 1.1 lite versions of Schema.org's Microdata samples<br />
<br />
<br />
Schema.org example sites - the following list give concrete examples of Schema.org sites (testable with [http://www.google.com/webmasters/tools/richsnippets Google richsnippets tool]):<br />
* TV series - http://www.imdb.com/title/tt0813715/ ([http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.imdb.com%2Ftitle%2Ftt0813715%2F&view= Google checker])<br />
* Product - http://www.ebay.com/ctg/Logitech-Revue-/97019743<br />
* Movie - http://www.imdb.com/title/tt1375666/ http://www.rottentomatoes.com/m/inception/<br />
* Music - http://www.myspace.com/awilolongombaofficiel/music/playlists/awilo-longomba-officiel-s-playlist-243959?_escaped_fragment_=<br />
* Events - www.ticketmaster.com/Foo-Fighters-tickets/artist/776005?_escaped_fragment_=<br />
* [http://schema.org/Recipe Recipe] - http://www.isaveurs.com/recette/recette_tarte_tatin.php</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Mapping_Microdata_to_RDF&diff=55481Mapping Microdata to RDF2011-11-16T21:23:28Z<p>Gkellogg: Use default URI of editor's draft</p>
<hr />
<div>This page describes how microdata content can be consumed by a consumer whose back-end systems are based on an RDF (or RDF-like) model, as part of the work of the [[Html-data-tf|HTML Data TF]].<br />
<br />
Transformation description moved to [https://dvcs.w3.org/hg/htmldata/raw-file/default/microdata-rdf/index.html ReSpec document]<br />
<br />
== Property URI generation ==<br />
Microdata allows properties to be specified as simple names, which then have a URI generation rule applied to them. As different vocabularies have different<br />
requirements for property URIs, the idea is to provide a way to inform the processor of how to generate URIs, and have the processor fall back to a specific<br />
URI generation strategy if no other information is available.<br />
<br />
There are different strategies for generating property URIs from names:<br />
;hashSlash<br />
: Infer the vocabulary from the @itemtype, and append the name to the resulting vocabulary URI. This would take advantage of the typically RDF strategy of having a flat namespace for classes and properties, so that the class name could be removed from the @itemtype URI to which the name can be appended. For example, if the type were <code>http://schema.org/Thing</code> the property 'name' would be be <code>http://schema.org/name</code>. Types are inherited by items without an @itemtype. Items without a type (explicit or inherited) append the name to the document base URI, in the case that the item has no type. For example, if the document had a base of <code>http://example.com/doc</code>, name could be appended along with a '#', yielding <code>http://example.com/doc#name</code><br />
;fragID<br />
: Append the name to the @itemtype URI. For example, given the URI <code>http://microformats.org/profile/hcard</code> as the type, the property 'fn' would result in the following URI: <code>http://microformats.org/profile/hcard#fn</code>. Note this is only possible if the type does not include a '#', which would result in an error and/or no generated property URI.<br />
;contextual<br />
: Append the name to a combination of @itemtype and the property path, and ensure that property URIs generated from names are distinct from explicit property URIs. For example, given the type <code>http://microformats.org/profile/hcard</code>, the property 'fn' would result in <code>http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard#:%23fn</code>. However, if there is an intervening item without a type, it would construct a different URI. Assuming an intervening property 'foo', the resulting URI would be <code>http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard#:%23foo%20fn</code>.<br />
<br />
These strategies can be the value of a _propertyURIGeneration_ parameter added to the initial evaluation context.<br />
<br />
=== Vocabulary-specific URI generation ===<br />
A registry may associate different vocabularies with property URI generation schemes, for example:<br />
<br />
<pre><br />
<http://schema.org/> a :Vocabulary; :propertyURIscheme :slashHash .<br />
<http://microformats.org/profile/hcard> a :Vocabulary; :propertyURIscheme :contextual .<br />
</pre><br />
<br />
A vocabulary-aware processor could then change URI generation schemes when encountering @itemtype URIs contained in the registry, and fallback to a default setting otherwise.<br />
<br />
== Multiple types for an item ==<br />
<br />
TBD.<br />
<br />
== Examples ==<br />
Additional examples can be added here.<br />
<br />
An example of a a http://schema.org/Organization that is the provider, publisher and copyrightHolder of a http://schema.org/NewsArticle. <br />
When converting this sample to RDF, it might be interesting that the "itemid" of the Organization object happens to be the same URL that is used as a property expecting a URL (the "url" property of http://schema.org/Thing in this case) from the same object. The "url" property of http://schema.org/Thing is not meant to take a http://schema.org/Organization as a value, but a URL. <br />
<br />
<pre><br />
<body itemscope="itemscope" itemtype="http://schema.org/NewsArticle"<br />
itemid="http://www.businesswire.com/news/home/20110106006854/en"><br />
...<br />
<span itemprop="provider publisher copyrightHolder" itemscope="itemscope"<br />
itemtype="http://schema.org/Organization" itemid="http://businesswire.com"><br />
<meta itemprop="name" content="Business Wire"/><br />
<a itemprop="url" href="http://www.businesswire.com"><br />
<img itemprop="image"<br />
src="http://www.businesswire.com/images/Powered-by-Business-Wire.gif"<br />
title="Business Wire is the leading source for full-text breaking news and press releases, <br />
multimedia and regulatory filings for companies and groups throughout the world"<br />
alt="Powered by Business Wire"/><br />
</a><br />
</span><br />
...<br />
</body><br />
</pre><br />
<br />
<br />
The resulting RDF from this example is:<br />
<pre><br />
<http://www.businesswire.com/news/home/20110106006854/en> a schema:NewsArticle;<br />
schema:copyrightHolder <http://www.businesswire.com> .<br />
<br />
<br />
<http://businesswire.com> a schema:Organization;<br />
schema:image <http://www.businesswire.com/images/Powered-by-Business-Wire.gif>;<br />
schema:name "Business Wire";<br />
schema:url <http://www.businesswire.com> .<br />
</pre><br />
<br />
<br />
<br />
[[Category:HTML Data TF]]</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Mapping_Microdata_to_RDF&diff=54696Mapping Microdata to RDF2011-10-21T20:47:28Z<p>Gkellogg: property URI generation</p>
<hr />
<div>This page describes how microdata content can be consumed by a consumer whose back-end systems are based on an RDF (or RDF-like) model, as part of the work of the [[Html-data-tf|HTML Data TF]].<br />
<br />
Transformation description moved to [https://dvcs.w3.org/hg/htmldata ReSpec document]<br />
<br />
== Property URI generation ==<br />
Microdata allows properties to be specified as simple names, which then have a URI generation rule applied to them. As different vocabularies have different<br />
requirements for property URIs, the idea is to provide a way to inform the processor of how to generate URIs, and have the processor fall back to a specific<br />
URI generation strategy if no other information is available.<br />
<br />
There are different strategies for generating property URIs from names:<br />
;hashSlash<br />
: Infer the vocabulary from the @itemtype, and append the name to the resulting vocabulary URI. This would take advantage of the typically RDF strategy of having a flat namespace for classes and properties, so that the class name could be removed from the @itemtype URI to which the name can be appended. For example, if the type were <code>http://schema.org/Thing</code> the property 'name' would be be <code>http://schema.org/name</code>. Types are inherited by items without an @itemtype. Items without a type (explicit or inherited) append the name to the document base URI, in the case that the item has no type. For example, if the document had a base of <code>http://example.com/doc</code>, name could be appended along with a '#', yielding <code>http://example.com/doc#name</code><br />
;fragID<br />
: Append the name to the @itemtype URI. For example, given the URI <code>http://microformats.org/profile/hcard</code> as the type, the property 'fn' would result in the following URI: <code>http://microformats.org/profile/hcard#fn</code>. Note this is only possible if the type does not include a '#', which would result in an error and/or no generated property URI.<br />
;contextual<br />
: Append the name to a combination of @itemtype and the property path, and ensure that property URIs generated from names are distinct from explicit property URIs. For example, given the type <code>http://microformats.org/profile/hcard</code>, the property 'fn' would result in <code>http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard#:%23fn</code>. However, if there is an intervening item without a type, it would construct a different URI. Assuming an intervening property 'foo', the resulting URI would be <code>http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard#:%23foo%20fn</code>.<br />
<br />
These strategies can be the value of a _propertyURIGeneration_ parameter added to the initial evaluation context.<br />
<br />
=== Vocabulary-specific URI generation ===<br />
A registry may associate different vocabularies with property URI generation schemes, for example:<br />
<br />
<pre><br />
<http://schema.org/> a :Vocabulary; :propertyURIscheme :slashHash .<br />
<http://microformats.org/profile/hcard> a :Vocabulary; :propertyURIscheme :contextual .<br />
</pre><br />
<br />
A vocabulary-aware processor could then change URI generation schemes when encountering @itemtype URIs contained in the registry, and fallback to a default setting otherwise.<br />
<br />
== Multiple types for an item ==<br />
<br />
TBD.<br />
<br />
== Examples ==<br />
Additional examples can be added here.<br />
<br />
[[Category:HTML Data TF]]</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Choosing_an_HTML_Data_Format&diff=54544Choosing an HTML Data Format2011-10-19T17:49:16Z<p>Gkellogg: Added structured-data.org linter</p>
<hr />
<div>This page describes the recommendations of the [[Html-data-tf|HTML Data TF]] regarding how you choose which data format to use to embed data within your HTML pages, if you are a data publisher, or target for consumption, if you are a consumer.<br />
<br />
== Publishers ==<br />
<br />
You are likely to find that the markup within your pages is simpler and easier to maintain if you only use one format (syntax and vocabulary) within each page. To decide which to use, your first consideration has to be which consumers will read the data within your web pages, and which formats they support. These may include:<br />
<br />
* scripting libraries<br />
* browsers and browser plug-ins<br />
* general-purpose search engines<br />
* vertical or domain-specific search engines<br />
* data reusers with whom you have agreements<br />
<br />
TODO: further guidance on choosing a format if the consumers support multiple formats, or mixing formats if they don't<br />
<br />
=== Good Publishing Practice ===<br />
<br />
It is good practice to test the data that you expose within your page against a parser that will show you the data your page contains. Existing online parsers include:<br />
<br />
;microdata<br />
:[http://foolip.org/microdatajs/live/ Live Microdata] maps to [http://www.w3.org/TR/microdata/#application-microdata-json application/microdata+json]<br />
:[http://rdf.greggkellogg.net/distiller RDF Distiller] maps to various RDF-based formats<br />
;RDFa<br />
:[http://rdf.greggkellogg.net/distiller RDF Distiller]<br />
:[http://check.rdfa.info check.rdfa.info]<br />
<br />
TODO: add more<br />
<br />
It is good practice to test the data that you expose using a tool that understands the vocabulary you are using. Consumers may provide testing tools and validators for this purpose, or you may need to check the way that vocabulary-specific tools behave with your data. Example vocabulary-aware testing tools and validators include:<br />
<br />
;Open Graph Protocol<br />
:[http://check.rdfa.info check.rdfa.info]<br />
;[http://schema.org schema.org]<br />
:[http://www.google.com/webmasters/tools/richsnippets Google's Rich Snippets Testing Tool]<br />
:[http://check.rdfa.info check.rdfa.info]<br />
:[http://linter.structured-data.org Structured Data Linter]<br />
;[http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#vcard vCard]<br />
:[http://foolip.org/microdatajs/live/ Live Microdata]<br />
;[http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#vevent vEvent]<br />
:[http://foolip.org/microdatajs/live/ Live Microdata]<br />
<br />
TODO: add more<br />
<br />
== Consumers ==<br />
<br />
You will find it easier to consume and combine data published using a single format (syntax and vocabulary). To decide which to use, you should first look at what formats your target publishers are currently using. It may be that these contain sufficient information for your application. If they do not, publishers will be more likely to publish extra data for you to consume if you:<br />
<br />
* extend existing common vocabularies they are already using<br />
* consume data from a syntax they already use<br />
<br />
Further guidance on creating vocabularies for microdata, microformats-2 and RDFa is available within the page on [[HTML Data Vocabularies]].<br />
<br />
TODO: further guidance on combining data from multiple syntaxes if the target publishers are using different syntaxes already</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Html-data-tf&diff=54532Html-data-tf2011-10-18T17:27:34Z<p>Gkellogg: Add reference to tracker issues and actions</p>
<hr />
<div>= HTML Data Task Force =<br />
<br />
This HTML Data Task Force considers [http://www.w3.org/TR/rdfa-core/ RDFa 1.1] and [http://dev.w3.org/html5/md/ microdata] as separate syntaxes, and conducts a technical analysis on the relationship between the two formats. The analysis discusses specific [[HTML Data Use Cases|use cases]] and provide guidance on [[Choosing an HTML Data Format|what format is best suited for what use cases]]. It further addresses the question [[Mixing HTML Data Formats|how different formats can be used]] within the same document when required and how data expressed in the different formats can be combined by consumers.<br />
<br />
The task force MAY propose modifications in the form of [[HTML Data Improvements|bug reports and change proposals]] on the microdata and/or RDFa specifications, to help users to easily transition between the two syntaxes or use them together. As with all such comments, the ultimate decisions on implementing these will rest with the respective Working Groups.<br />
<br />
Further, the Task Force should also produce a draft specifications of mapping algorithms from an [[Mapping Microdata to RDF|HTML+microdata content to RDF]], as well as a mapping of [[Mapping RDFa to JSON|RDFa to microdata's JSON format]]. These MAY serve as input documents to possible future recommendation track works. These mappings should be, if possible, generic, i.e., they should not be dependent on any particular vocabulary. A goal for these mappings should be to facilitate the use of both formats with the same vocabularies without creating incompatibilities.<br />
<br />
The Task Force will also consider [[HTML Data Vocabularies|design patterns for vocabularies]], and provide guidance on how vocabularies should be shaped to be usable with both microdata and RDFa and potentially with microformats. These patterns MAY lead to change proposals of existing (RDF) vocabularies, and MAY result in general guidelines for the design of vocabularies for structured data on the web, building on existing community work in this area.<br />
<br />
The Task Force liaises with the [http://www.w3.org/2001/sw/interest/webschema.html SWIG Web Schemas Task Force] to ensure that lessons from real-world experience are incorporated into the Task Force recommendations and that any best practices described by the Task Force are synchronised with real-world practice.<br />
<br />
The Task Force conducts its work through the public-html-data-tf@w3.org mailing list (use [mailto:public-html-data-tf-request@w3.org?subject=subscribe this link] to subscribe or look at the [http://lists.w3.org/Archives/Public/public-html-data-tf/ public archives]), as well as on the [irc://irc.w3.org/html-data-tf #html-data-tf] channel of the (public) [irc://irc.w3.org W3C IRC] server. The Task Force maintains a list of [http://www.w3.org/2011/htmldata/track/issues issues] and [http://www.w3.org/2011/htmldata/track/actions actions] in the W3C tracker.<br />
<br />
The Task Force is chaired by Jeni Tennison.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Mapping_Microdata_to_RDF&diff=54480Mapping Microdata to RDF2011-10-12T22:24:46Z<p>Gkellogg: Added link to ReSpec document repository and remove steps from this description. Room for additional examples.</p>
<hr />
<div>This page describes how microdata content can be consumed by a consumer whose back-end systems are based on an RDF (or RDF-like) model, as part of the work of the [[Html-data-tf|HTML Data TF]].<br />
<br />
Transformation description moved to [https://dvcs.w3.org/hg/htmldata ReSpec document]<br />
<br />
== Examples ==<br />
Additional examples can be added here.</div>Gkellogghttps://www.w3.org/wiki/index.php?title=Mapping_Microdata_to_RDF&diff=54355Mapping Microdata to RDF2011-10-08T07:10:27Z<p>Gkellogg: </p>
<hr />
<div>This page describes how microdata content can be consumed by a consumer whose back-end systems are based on an RDF (or RDF-like) model, as part of the work of the [[Html-data-tf|HTML Data TF]].<br />
<br />
== Microdata RDF Transformation ==<br />
This document describes the process of extracting RDF from an HTML page encoded with [http://dev.w3.org/html5/md/ Microdata].<br />
<br />
=== Document base ===<br />
<br />
The document base address (''base'') is set from the location from which the document is retrieved. This may be overridden using the <code>base</code> element within the document <code>head</code> (CSS selector '<code>html>head>base[href]</code>').<br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Setting base from <code>html>head>base</code> is not specifically called out in the original Microdata spec.<br />
|}<br />
<br />
=== <code>title</code> element ===<br />
<br />
If the <code>title</code> element is not null, then generate the following triple:<br />
<br />
: '''subject''': [[#Document base|Document base]]<br />
: '''predicate''': <code>http://purl.org/dc/terms/title</code><br />
: '''object''': the concatenation of the data of all the child text nodes of the <code>title</code> element, in tree order, as a plain literal, with the language information set from the language of the <code>title</code> element, if it is not unknown. <br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, remove this explicit mapping and require use of @item* attributes, as it seems arbitrary.<br />
|}<br />
<br />
=== <code>a</code>, <code>area</code>, and <code>link</code> elements ===<br />
<br />
For each a, area and link element in the Document, run these steps:<br />
<br />
# If the element does not have a <code>@rel</code> attribute, then skip this element.<br />
# If the element does not have an <code>@href</code> attribute, then skip this element.<br />
# If the <code>@href</code> attribute does not resolve to an absolute URI, then skip this element.<br />
# Otherwise, split the value of the elements <code>@rel</code> attribute ion spaces, obtaining ''list of tokens''.<br />
# Convert each token in <code>list of tokens</code> that does not contain a U+003A COLON characters (:) into ASCII lowercase.<br />
# Coalesce duplicate tokens in lit of tokens.<br />
# If ''list of tokens'' contains both the tokens <code>alternate</code> and <code>stylesheet</code>, then remove them both and replace them with the single (uppercase) token <code>ALTERNATE-STYLESHEET</code>.<br />
# For each token ''token'' in ''list of tokens'' that contains no U+003A COLON characters (:), generate the following triple:<br/><br/>'''subject''': [[#Document base|Document base]]<br/>'''predicate''': the fragment-escaped concatenation of the string "http://www.w3.org/1999/xhtml/vocab#" and ''token''<br/>'''object''': the absolute URI that results from resolving the value of the element's <code>@href</code> attribute relative to the element<br/><br/>For each token ''token'' in ''list of tokens'' that is an absolute URI, generate the following triple:<br/><br/>'''subject''': [[#Document base|Document base]]<br/>'''predicate''': ''token''<br/>'''object''': the absolute URI that results from resolving the value of the element's <code>@href</code> attribute<br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, this logic is duplicated in ''top-level microdata items'' and repeating it here seems redundant. This only has value if no <code>@itemscope</code> is provided.<br />
|}<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, instead of comparing for COLON, perhaps reference NCNAME and an explicit set of term mappings as RDFa, rather than allow arbitrary link terms. This also handles the embedded '#' processing issue.<br />
|}<br />
<br />
=== <code>meta</code> with <code>@name</code> and <code>@content</code> ===<br />
<br />
For each <code>meta</code> element in the Document that has both <code>@name</code> and <code>@content</code> attributes (CSS selector '<code>meta[name][content]</code>'), if the value of the <code>@name</code> attribute contains no U+003A COLON characters (:), generating the following triple:<br />
<br />
: '''subject''': [[#Document base|Document base]]<br />
: '''predicate''': the fragment-escaped concatenation of the string "http://www.w3.org/1999/xhtml/vocab#" and the elements <code>@name</code> attribute, converted to ASCII lowercase<br />
: '''object''': the value of the element's <code>@content</code> attribute, as a plain literal, with the language information set from the language of the element, if it is not unknown<br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, this logic is duplicated in ''top-level microdata items'' and repeating it here seems redundant. This only has value if no <code>@itemscope</code> is provided.<br />
|}<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, which matches the NCNAME production?<br />
|}<br />
<br />
=== <code>blockquote</code> and <code>q</code> elements with <code>@cite</code> ===<br />
<br />
For each <code>blockquote</code> and <code>q</code element in the Document that has a <code>@cite</code> attribute (CSS selector '<code>blockquote[cite], q[cite]</code>') that resolves successfully relative to the element, generate the following triple:<br />
<br />
: '''subject''': [[#Document base|Document base]]<br />
: '''predicate''': <code>http://purl.org/dc/terms/source</code><br />
: '''object''': the absolute URI that results from resolving the value of the element's cite attribute relative to the element <br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, remove this explicit mapping and require use of @item* attributes, as it seems arbitrary. Probably requires adding <code>blockquote</code> processing to [[#property-value|property value]]<br />
|}<br />
<br />
=== top-level microdata items ===<br />
<br />
The algorithm uses the following terms:<br />
;<div id="item">item</div><br />
: Defined in [http://www.w3.org/TR/2011/WD-microdata-20110525/#concept-item Microdata spec]<br />
; <div id="top-level-item">top-level item</div><br />
: Defined in [http://www.w3.org/TR/2011/WD-microdata-20110525/#top-level-microdata-items Microdata spec]<br />
; <div id="evaluation-context">Evaluation Context</div><br />
: A data structure including the following elements: '''<div id="memory">memory</div>''': an mapping of [#item|item]]s to ''subjects'', initially empty, and '''<div id="current-type">current type</div>''': a URI for the ''current type'', used when an item does not contain an explicit @itemtype resolving to an absolute URI<br />
; '''<div id="global-identifier">global identifier</div>'''<br />
: Defined in [http://www.w3.org/TR/2011/WD-microdata-20110525/#global-identifier Microdata spec]<br />
; '''<div id="property-names">property names</div>'''<br />
: Defined in [http://www.w3.org/TR/2011/WD-microdata-20110525/#property-names Microdata spec]<br />
; '''<div id="property-value">property value</div>''' (updated from [http://www.w3.org/TR/2011/WD-microdata-20110525/#concept-property-value Microdata spec])<br />
: The ''property value'' of a name-value pair added by an element with an <code>@itemprop</code> attribute depends on the element, as follows:<br />
<dl><br />
<dt>If the element also has an <code>@itemscope</code> attribute</dt><br />
<dd>The value is the [[#item|item]] created by the element</dd><br />
<dt>If the element is a <code>meta</code> element</dt><br />
<dd>The value is the value of the element's <code>@content</code> attribute, if any, or the empty string if there is no such attribute.</dd><br />
<dt>If the element is an <code>audio</code>, <code>embed</code>, <code>iframe</code>, <code>img</code>, <code>source</code>, <code>track</code>, or <code>video</code> element</dt><br />
<dd>The value is the absolute URI that results from resolving the value of the element's <code>@src</code> attribute relative to the element at the time the attribute is set, or the empty string if there is no such attribute or if resolving it results in an error.</dd><br />
<dt>If the element is an <code>a</code>, <code>area</code>, or <code>link</code> element</dt><br />
<dd>The value is the absolute URI that results from resolving the value of the element's <code>@href</code> attribute relative to the element at the time the attribute is set, or the empty string if there is no such attribute or if resolving it results in an error.</dd><br />
<dt>If the element is an <code>object</code> element</dt><br />
<dd>The value is the absolute URI that results from resolving the value of the element's <code>@data</code> attribute relative to the element at the time the attribute is set, or the empty string if there is no such attribute or if resolving it results in an error.</dd><br />
<dt>If the element is a <p>time</p> element with a <code>@datetime</code> attribute</dt><br />
<dd><br />
<dl><br />
<dt>If the value has the lexical form of [http://www.w3.org/TR/xmlschema-2/#date xsd:date]</dt><br />
<dd>The value is a typed literal composed of the value and <code>http://www.w3.org/2001/XMLSchema#date</code></dd><br />
<dt>If the value has the lexical form of [http://www.w3.org/TR/xmlschema-2/#time xsd:time]</dt><br />
<dd>The value is a typed literal composed of the value and <code>http://www.w3.org/2001/XMLSchema#time</code></dd><br />
<dt>If the value has the lexical form of [http://www.w3.org/TR/xmlschema-2/#dateTime xsd:dateTime]</dt><br />
<dd>The value is a typed literal composed of the value and <code>http://www.w3.org/2001/XMLSchema#dateTime</code></dd><br />
<dt>If the value has the lexical form of [http://www.w3.org/TR/xmlschema-2/#duration xsd:duration]</dt><br />
<dd>The value is a typed literal composed of the value and <code>http://www.w3.org/2001/XMLSchema#duration</code></dd><br />
<dt>Otherwise</dt><br />
<dd>The value is a plain literal, with the language information set from the language of the element, if it is not unknown </dd><br />
</dl><br />
</dd><br />
<dt>Otherwise</dt><br />
<dd>The value is the element's textContent.</dd><br />
</dl><br />
; '''<div id="uri-property-elements">URI property elements</div>'''<br />
: The URI property elements are defined in the [http://www.w3.org/TR/2011/WD-microdata-20110525/#url-property-elements Microdata spec].<br />
; '''<div id="item-properties">properties of an item</div>'''<br />
: The mechanism for finding the ''properties of an item'' are described in the [http://www.w3.org/TR/2011/WD-microdata-20110525/#the-properties-of-an-item Microdata spec].<br />
<br />
RDF is generated using the following algorithm. For each element that is also a top-level item, run the following steps:<br />
<br />
# [[#Generate the triples|Generate the triples]] for the [[#item|item]] using the initial [[#evaluation-context|Evaluation Context]]. Let ''result'' be the subject returned.<br />
# Generate the following triple:<br />
<br />
: '''subject''': [[#Document base|Document base]]<br />
: '''predicate''': <code>http://www.w3.org/1999/xhtml/microdata#item </code><br />
: '''object''': ''result'' <br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's suggestion, remove this generation of the [[#item|item]] triple, which only serves to associate all items in the document with each other, something that is already done by virtue of being in the same document.<br />
|}<br />
<br />
=== Generate the triples ===<br />
When the user agent is to [[#Generate the triples|generate the triples]] for an item [[#item|item]], given an [[#evaluation-context|Evaluation Context]], it must run the following steps:<br />
<br />
{| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#fefede;padding:1em;"<br />
| Editor's note, this algorithm has undergone substantial change from the original Microdata specification.<br />
|}<br />
<br />
# If there is an entry for [[#item|item]] in [[#memory|memory]], then let ''subject'' be the subject of that entry. Otherwise, if [[#item|item]] has a [[#global-identifier|global identifier]] and that ''global identifier'' is an absolute URI, let ''subject'' be that ''global identifier''. Otherwise, let ''subject'' be a new blank node.<br />
# Add a mapping from [[#item|item]] to ''subject'' in [[#memory|memory]]<br />
# If the [[#item|item]] has an <code>@itemtype</code> attribute, split on spaces, with the order preserved but with duplicates removed (leaving only the first occurance of each type)<br />
# For each ''type'' extracted from <code>@itemtype</code> which is an absolute URI, generate the following triple:<br/><br/>'''subject''': ''subject''<br/>'''predicate''': <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code><br/>'''object''': ''type''<br />
# Set ''type'' to the first ''type'' from <code>@itemtype</code> which is an absolute URI, if there is one, otherwise to [[#current-type|current type]] from the [[#evaluation-context|Evaluation Context]] if not empty.<br />
# For each element ''element'' that has one or more [[#property-names|property names]] and is one of the [[#item-properties|properties of the item]] ''item'', in the order those elements are given by the algorithm that returns the [[#item-properties|properties of an item]], run the following substep:<br />
## Set ''property list'' to an empty mapping between properties and one or more ordered ''value''s as established below.<br />
## For each ''name'' in the element's [[#property-names|property names]], run the following substeps:<br />
### If ''type'' is not defined and ''name'' is not an absolute URI, abort these steps<br />
### If ''name'' is not an absolute URI, set ''predicate'' to ''name'', otherwise construct ''predicate'' from ''type'' by removing everything following the last SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") in type and appending ''name''.<br />
### Let ''value'' be the [[#property-value|property value]] of ''element''<br />
### If ''value'' is an [[#item|item]], then [[#Generate the triples|generate the triples]] for ''value'' using a copy of [[#evaluation-context|Evaluation Context]] with [[#current-type|current type]] set to ''type''. Replace ''value'' by the subject returned from those steps.<br />
### Add ''value'' to ''property list'' for ''predicate''<br />
# For each ''predicate'' in ''property list''<br />
## If entry for ''predicate'' in ''property list'' contains multiple values, [#generate-collection|generate an RDF Collection] ''list'' from the ordered list of values. Set ''value'' to the value returned from [#generate-collection|generate an RDF Collection]<br />
## Generate the following triple:<br/><br/>'''subject''': ''subject''<br/>'''predicate''': ''predicate''<br/>'''object''': ''value''<br />
# Return ''subject''<br />
<br />
=== <div id="generate-collection">Generate an RDF Collection</div> ===<br />
<br />
[http://www.w3.org/TR/rdf-syntax/#collections RDF Collection]s are used to define a sequence of objects. As the RDF data-model is that of an unordered graph, a linking method using properties <code>rdf:first</code> and <code>rdf:next </code>is required to be able to specify a particular order.<br />
<br />
[http://www.w3.org/TR/rdf-syntax/#collections RDF Collection]s are used when an item has more than one value associated with a given property to ensure that the original document order is maintained. The following procedure should be used to generate triples when an [[#item|item]] property has more than one value (contained in ''list''):<br />
<br />
# Create a new array containing a blank node for every value in ''list''<br />
# For each pair of ''blank node'' and value from ''list'' the following triple is generated:<br/><br/>'''subject''': ''blank node''<br/>'''predicate''': <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#first</code><br/>'''object''': ''value''<br />
# For each ''blank node'' in the array the following triple is generated:<br/><br/>'''subject''': ''blank node''<br/>'''predicate''': <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#rest</code><br/>'''object''': next element in the array or, if that does not exist, <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#nil</code><br />
# Return the first ''blank node'' from the array</div>Gkellogghttps://www.w3.org/wiki/index.php?title=SparqlImplementations&diff=46889SparqlImplementations2011-01-26T19:42:59Z<p>Gkellogg: </p>
<hr />
<div>__NOTOC__<br />
This page lists some implementations of [[SPARQL]], a query language and protocol<br />
for RDF acccess released by the W3C RDF Data Access Working Group - <br />
[http://www.w3.org/2001/sw/DataAccess/ DAWG].<br />
<br />
[http://www.w3.org/TR/rdf-sparql-query/ SPARQL query language spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec]<br />
<br />
[http://www.w3.org/TR/rdf-sparql-XMLres/ SPARQL XML results spec]<br />
<br />
[http://www.w3.org/2001/sw/DataAccess/tests/implementations SPARQL Implementation Survey]<br />
<br />
See [[DawgShows]] for online demos and services.<br />
<br />
== Client Side ==<br />
<br />
* [http://www.franz.com/agraph/gruff/ Gruff] provides a [http://www.franz.com/agraph/gruff/grufflab.lhtml Graphical Query View] which allows creating SPARQL and Prolog queries as diagrams of nodes and links. Group graph patterns such as UNION and OPTIONAL can be laid out as grouper boxes that can be nested to any level, with proper nesting maintained automatically. You can generate a visual graph from query results, showing the network of triples in the query results.<br />
* [http://rdf2go.semweb4j.org RDF2Go] Java Triple Store Abstraction Layer, adapters for Jena and Sesame - one RDF API, many stores<br />
* [http://cyparkler.monrai.com SPARQL Software] Monrai Cyparkler 1.0 is a software framework which implements a query factory for SPARQL and SeRQL<br />
* [http://cypher.monrai.com NLP Software for RDF & SPARQL] Monrai Cypher is a software program which generates the RDF graph and SPARQL/SeRQL query representation of a plain language input<br />
* [http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html SPARQL JavaScript Library], works with SPARQL/JSON-capable servers<br />
* [http://demo.openlinksw.com/sparql_demo/ OpenLink Virtuoso's Web based SPARQL Client], works with in-built or 3rd party SPARQL Query Services<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/ng4j/semwebclient Semantic Web Client Library], represents the complete Semantic Web as a single RDF graph and enables applications to query this global graph using SPARQL queries. Implemented in Java based on Jena.<br />
* [https://sourceforge.net/projects/sesamewinclient Sesame Windows Client], is an open-source desktop application for interacting with a Sesame 2 RDF server or SPARQL endpoints. SWC offers a graphical user interface that lets you administrate a Sesame server, do SPARQL queries, export, add and remove data. It works with Novell Mono on Unix. <br />
* [http://www.arielworks.net/works/codeyard/hercules Hercules - Ajax Object/Rdf mapper], works with SPARQL servers<br />
* [http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlClient.htm RAP's SPARQL Client Library] PHP library to query remote SPARQL endpoints.<br />
* [http://www.topbraidcomposer.com/ TopQuadrant's TopBraid Composer], is a complete standards-based platform for developing, testing and maintaining Semantic Web applications. Testing, consistency checking and debugging is supported by a bundled version of Pellet.<br />
* [http://sparql-wrapper.sourceforge.net/ SPARQL Python Wrapper] is a python implementation by Ivan Herman and others.<br />
* [http://code.google.com/p/pysparql/ pysparql] is a python client that originates in the above [[JavaScript]] library.<br />
* [http://www.ldodds.com/projects/twinkle/ Twinkle] is a simple GUI interface that wraps the ARQ SPARQL query engine. The tool should be useful both for people wanting to learn the SPARQL query language, as well as those doing Semantic Web development.<br />
<br />
== Query Engines ==<br />
<br />
* [http://www.franz.com/agraph/allegrograph AllegroGraph] is a modern, high-performance, persistent RDF graph database. [http://en.wikipedia.org/wiki/AllegroGraph AllegroGraph] supports [http://www.franz.com/agraph/support/documentation/v4/sparql-reference.html SPARQL], [http://www.franz.com/agraph/support/documentation/v4/lisp-reference.html#ref-prolog RDFS++], and [http://www.franz.com/agraph/support/documentation/v4/reasoner-tutorial.html Prolog] reasoning from numerous client applications.<br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/ RDF API for PHP], esp [http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/usingtheSparqlEngine.htm SPARQL support]; the new SPARQL engine in RAP V0.95 passes many DAWG test cases. <br />
* [http://jena.sourceforge.net/ARQ/ ARQ] - Implements the SPARQL query language for [http://jena.sourceforge.net/ Jena] - License: BSD. Stable releases now part of the Jena distributions (binary, documentation) while continuing development releases as a separate system (code, documentation).<br />
* [http://www.joseki.org/ Joseki] - Implements the SPARQL protocol - License: BSD. Implements both HTTP and SOAP versions of the SPARQL protocol.<br />
* [http://librdf.org/rasqal/ Rasqal] - Implements the SPARQL query language for Redland (C) - License: LGPL/GPL2/Apache2.0. [http://librdf.org/bindings/ Redland Bindings] provides interfaces to it in at least perl, php, python, ruby and others. [http://librdf.org/query Rasqal demo] using the perl interface. [http://sebastian.dietzold.de/archive/2005/03/02/sparqlTool.php PHP query demo]<br />
* [http://www.openrdf.org/ Sesame 2] - Implements the SPARQL query language and protocol in Java - License: BSD. <br />
* [http://www.w3.org/2000/10/swap/doc/cwm cwm] has a --sparql option and --sparqlServer mode sinde [http://lists.w3.org/Archives/Public/public-cwm-announce/2005JulSep/0000.html Cwm Release 1.1.0rc1] 11 Aug 2005<br />
* [http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/PythonLib-IH/Overview.html sparql-p], a SPARQL API in Python, distributed as part of [http://rdflib.net RDFLib], [http://rdflib.net/2005/09/10/rdflib-2.2.2/README/ version 2.2.2 and higher]. This is an updated version of an [http://dev.w3.org/cvsweb/~checkout~/2004/PythonLib-IH/Doc/sparqlDesc.html?rev=1.8 older version of sparql-p] which was a separate package on top of RDFLib. The separate version is now deprecated. An effort to include a parser of the SPARQL query language, with a mapping on sparql-p, has been [http://copia.ogbuji.net/blog/2006-06-23/rdf_query_apis_for_rdflib completed].<br />
* [http://sourceforge.net/projects/sparql4j/ SPARQL4J] SPARQL JDBC type 4 driver (Release 0.1 out) - License: Apache. See the [http://www.profium.com/news/2005/jan11_2005.html announcement] 2006-03-31<br />
* [http://rdfstore.sourceforge.net RDFStore] ([http://cvs.sourceforge.net/viewcvs.py/rdfstore/rdfstore/ CVS] 0.51) from [http://www.asemantics.com/ asemantics] - License: BSD. See also the SPARQL protocol [http://demo2.asemantics.com/rdfstore/sparql/ demo] and [http://demo.asemantics.com/zparqler/ Zparqler demo] and [http://demo.asemantics.com/zparqler/examples/index.html examples] <br />
* [http://kasei.us/code/rdf-query/ RDF::Query] perl module for querying Redland, RDF::Trine and RDF::Core models with SPARQL and RDQL. - License: Perl (Artistic/GPL). See [http://kasei.us/archives/categories/projects/rdf-query/ weblog updates] for the project status.<br />
* [http://www.holygoat.co.uk/projects/twinql/ Twinql] Common Lisp SPARQL processor by Richard Newman. License: TBD, probably BSDish. See also the [http://www.noctua.co.uk/sparql/ twinql demo]<br />
* [http://sourceforge.net/projects/sparql SPARQL Engine]. License: LGPL. See also the [http://sparql.sourceforge.net/design.html Design for SPARQL engine in Sesame] document. Plugs into [http://www.openrdf.org/ Sesame] and used in [http://taubz.for.net/code/semweb SemWeb .NET library].<br />
* [http://kaon2.semanticweb.org/ KAON2] OWL-DL and SWRL inference engine with SPARQL support.<br />
* [http://www.mindswap.org/2003/pellet Pellet] Complete OWL-DL inference engine with SPARQL support, including for non-distinguished variable. The [http://www.mindswap.org/2003/pellet/demo.shtml Web Demo] has some SPARQL examples.<br />
* [http://www-sop.inria.fr/acacia/soft/corese/ Corese] Corese stands for Conceptual Resource Search Engine. It is an RDF engine based on Conceptual Graphs (CG). It enables the processing of RDF Schema and RDF statements within the CG formalism, provides a rule engine and a query engine accepting the SPARQL syntax. See [http://www-sop.inria.fr/acacia/soft/corese/CoreseSparql.html discussion of SPARQL features and extensions supported]. non-commercial use license to java binaries.<br />
* [http://www.alphaworks.ibm.com/tech/semanticstk SOR] "is a high-performance OWL ontology storage, inference, and query system based on RDBMS (Relational Database Management Systems). This technology runs on Windows® and Linux®." "SPARQL specification (April 2006) has been implemented". Developed by IBM. Previously known as The Minerva.<br />
* [http://virtuoso.openlinksw.com/wiki/main/Main OpenLink Virtuoso] supports SPARQL, and SPARQL embedded in SQL, for querying RDF data stored in Virtuoso's Object-Relational Database. In Virtuoso, SPARQL benefits from low-level support in the core engine via features such as; SPARQL aware type casting rules and a dedicated IRI data type. The [http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDFWP Virtuoso RDF Triple Store] is the fastest developing functionality realm of Virtuoso at the current time. Virtuoso Open Source (license: GPL) and Commercial Editions (version 4.5.2) are now Available. <br />
* [http://ontotext.com/owlim Ontotext OWLIM] supports SPARQL and SeRQL. OWLIM is a triple storage with a built-in reasoner. It has a free edition called [http://ontotext.com/owlim/SwiftOWLIM-registration-form.html SwiftOWLIM].<br />
* [http://arc.semsol.org/ ARC] is "a flexible RDF system for semantic web and PHP practitioners" by [http://semsol.com/ semsol web semantics]. License: W3C Software License, [http://lists.w3.org/Archives/Public/semantic-web/2007Nov/0188.html new version (ARC2) announced on November 28, 2007].<br />
* [http://www.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/ D2R Server], turns relational databases into SPARQL endpoints, implements the SPARQL query language and the SPARQL protocol, based on Joseki and ARQ.<br />
* [http://con.fusion.at/dlvhex/download.php dlvhex SPARQL-engine] A prototype SPARQL-plugin for the declarative logic programming engine [http://www.dlvsystem.com/ dlv]. Translates SPARQL to datalog rules. The generic translation, also applicable to other Datalog or logic programming engines is described in a detailed [http://www.polleres.net/publications/GIA-TR-2006-11-28.pdf Technical Report]<br />
* [http://www.openanzo.org/index.html Open Anzo] is "a server capable of storing millions of RDF triples in an underlying relational database (IBM DB/2, Oracle, MySQL, Postgres and Apache Derby are currently supported)". Features "Typed full-text search capabilities for text literals are supported through Glitter SPARQL queries". License: Eclipse Public License 1.0<br />
* [http://opensource.joost.com/libb/ Joost's Lib B]. "We have been developing a triple store called B". Donated to ASF inactive incubator project [http://incubator.apache.org/triplesoup/ TripleSoup] which aims to build "a SPARQL endpoint for httpd".<br />
* [http://hercules.arielworks.net/ Hercules] is a semantic web framework in JavaScript. It has a SAPRQL query engine implementation in pure JavaScript which is runnable on web browsers. Hercules is distributed on the public domain.<br />
* [http://4store.org/ 4store] is is a clustered database storage and query engine that holds RDF data. 4store's main strengths are its performance, scalability and stability. It does not provide many features over and above RDF storage and SPARQL queries. 4store is available under the GPLv3 license.<br />
* [http://www.springerlink.com/content/c126511h03gx3014/ The RDF-3X engine for scalable management of RDF data], VLDB Journal, 2010.<br />
* [http://www.strixDB.com/ StrixDB] is a RDF graph store, SPARQL compliant, with Lua API and Datalog inference capabilities. Could be used as httpd (Apache HTTP Server) module or standalone.<br />
* [http://www.ontoprise.de/en/home/products/ontobroker/ ontoprise OntoBroker] supports SPARQL (Query and Update) via Java API and REST endpoint in combination with the internal rule engine and data integration. License: Commercial.<br />
<br />
== Grammars and Parsers for SPARQL ==<br />
<br />
* [http://jena.sourceforge.net/ARQ/ ARQ] - Contains a JavaCC grammar [http://cvs.sourceforge.net/viewcvs.py/*checkout*/jena/ARQ/Grammar/sparql.jj sparql.jj]<br />
* An ANTLRv3 fully compliant [http://www.antlr.org/grammar/1193765395834/sparql-1.0.tgz grammar] - See [http://www.antlr.org ANTLR]<br />
* [http://arc.semsol.org/docs/v2/misc/sparql_parsing ARC SPARQL Parser] - PHP parser for SPARQL by Benjamin Nowack. License: W3C Software License. Builds a structure representing the query from the syntax. Supports all SPARQL syntax features.<br />
* [http://rdflib.net RDFLib]'s [http://copia.ogbuji.net/blog/2005-04-27/Of_BisonGe BisonGen]-based [http://svn.rdflib.net/trunk/rdflib/sparql/bison/ parser] which is implemented as a Python/C extension which builds a library of SPARQL syntax objects.<br />
* [http://www.openrdf.org/ Sesame 2]'s SPARQL parser - contains a JJTree grammar [http://repo.aduna-software.org/websvn/filedetails.php?repname=aduna&path=%2Forg.openrdf%2Fsesame%2Fbranches%2F2.2%2Fcore%2Fqueryparser%2Fsparql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenrdf%2Fquery%2Fparser%2Fsparql%2Fast%2Fsparql.jjt sparql.jjt].<br />
* [http://www.logilab.org/project/fyzz Fyzz] a SPARQL parser written in pure python and licensed under the LGPL - some documentation in this [http://www.cubicweb.org/blogentry/344822 blog post].<br />
* [https://rubygems.org/gems/sparql-grammar SPARQL::Grammar] a SPARQL to [http://openjena.org/wiki/SSE SSE] parser written in Ruby with a free and unencumbered public domain software license. Documentation available on [http://sparql.rubyforge.org/grammar/ GitHub].<br />
<br />
== SPARQL "Endpoints" ==<br />
<br />
These endpoints offer a URI with a SPARQL service that can be accessed using the [http://www.w3.org/TR/rdf-sparql-protocol/ SPARQL Protocol spec], and return XML and/or JSON.<br />
<br />
* [[SparqlEndpoints|Collection of SPARQL Endpoints]]<br />
* [http://sparql.org/sparql SPARQLer] (see http://sparql.org for a description)<br />
* [http://demo.openlinksw.com/sparql/ OpenLink Virtuoso] (the SPARQL Query Service endpoint for our Live Demo Server). <br />
* [http://www.SemanticDiscoverySystems.com/ The Semantic Discovery System] SPARQL Query Over Distributed Data (Oracle, any RDBMS, Web Services, Excel, Non Relational Data...) SPARQL Endpoint, Automated Mapping to/from OWL all Connected Data Sources (end Q4 2007)<br />
<br />
----<br />
[[Category:SwTools]]</div>Gkellogg