- From: Manu Sporny <msporny@digitalbazaar.com>
- Date: Tue, 03 Sep 2013 12:34:19 -0400
- To: Linked JSON <public-linked-json@w3.org>
Hi all, This concerns the final project push for Vikash, our GSoC student assigned to the JSON-LD project. The final date of the program is September 23rd, 2013. Vikash and I discussed what he needs to get done before that date, and these are the major items: 1. Finish the LinkedIn App so that it generates at least 20 different property types in JSON-LD. The mappings to schema.org don't have to be perfect, but they should be largely compatible with People and Organizations. For anything that doesn't map cleanly, create a new LinkedIn vocabulary URL term: http://linkedin.com/vocab# 2. Generalize the Creator Tool so that it is easy for other developers to add new types to the Creator Tool. Ideally, a developer should be able to add a JSON-based template that will then be used in the Creator tool to dynamically create the UI. 3. Using the GreenTurtle RDFa processor, write a JavaScript tool that can take the schema.org vocabulary at http://schema.org/docs/schema_org_rdfa.html and translate it into a usable JSON-LD Context. You must accomplish tasks #1, #2, and #3 to pass GSoC. ----------------------------------------------------------------------- Here are some suggestions on how you could accomplish each task: Finish the LinkedIn App ----------------------- You now have my LinkedIn data: https://gist.github.com/msporny/841a0243e8a26031da89 It has around 31 different types of properties, so extracting 20 out of it shouldn't be that difficult to do. Try to map most of the properties to schema.org properties. For the ones that don't map, like volunteerExperiences, just map them to something like http://linkedin.com/vocab#volunteerExperiences Generalize the Creator Tool --------------------------- You did a first pass of the JSON-LD Creator tool. In order to make it very useful to the community, you need to generalize it so that the hard coded forms, like the one for Person: https://github.com/ivikash/json-ld.org/blob/creator/creator/index.html#L105 are dynamically generated from a JSON-LD file. For example, this could be a JSON-LD file that generates the form based on the type of object being created: { "@context": "http://json-ld.org/creator/context.jsonld", "@type": "http://json-ld.org/creator/vocab#Template", "label": "Person", "fields": [{ "label": "Name", "jsonldProperty": "name", "inputType": "text", "inputHint": "Full Name of the person" }, { ... other fields go here ... }] } The creator tool would then take the structure above and generate the input form for the data. It would also then be capable of serializing the input data to JSON-LD with the click of a button. Transitioning to this more generic way of doing the input form will allow other developers to just focus on creating the JSON documents, greatly enhancing the types of JSON-LD markup that can be created using the tool. Generate a useful schema.org JSON-LD Context -------------------------------------------- We still need a useful schema.org JSON-LD Context for developers. In order to keep pace with new schema.org developments, we will have to automate the process of translating the schema.org vocabulary to a JSON-LD Context. In order to make sure that other developers can work on this tool, it would be best to make it online and write it in JavaScript. To accomplish this task, you could do the following: Download the following file and store it in the json-ld.org repository: http://schema.org/docs/schema_org_rdfa.html Then use the Green Turtle RDFa processor parse the document and extract the schema.org data out of it: https://code.google.com/p/green-turtle/ Specifically, you will only need the processor: https://code.google.com/p/green-turtle/downloads/detail?name=RDFaProcessor.1.2.0.js Iterate over the data and translate each Class and property into a JSON-LD term with the appropriate term definition. At the very minimum, the term definition should either be this (if one of the Range entries for the property is "Text" or "Number"): "PROPERTY_NAME": "http://schema.org/PROPERTY_NAME" or this (if there is only one Range, and it is not Text, Number, etc.): "PROPERTY_NAME": { "@id": "http://schema.org/PROPERTY_NAME", "@type": "@id" } Bonus points for specifying "Date" Ranges correctly. ------------------------------------------------------------------------ Please let us know if you will be able to complete these tasks in the next 20 days. If any of these goals are not clear, please let us know. Know that whatever tasks that you agree to complete will be used as your final evaluation criteria, so it's important that we all agree on what the expectations are for the 23rd. -- manu -- Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny) Founder/CEO - Digital Bazaar, Inc. blog: Meritora - Web payments commercial launch http://blog.meritora.com/launch/
Received on Tuesday, 3 September 2013 16:34:41 UTC