Skip to content

stuartrobinson/schemaorg

 
 

Repository files navigation

Schema.org project repository

This repository contains all the schemas, examples and software use to publish schema.org.

Issues and proposals are managed here by participants of the W3C Schema.org Community Group. See http://www.w3.org/community/schemaorg for the group. If you are interested to participate please join the group at W3C, introduce yourself and find or file issues here that engage your interest.

Software

The site codebase is a simple Python application. It uses Google App Engine, and is designed to allow schema.org contributors to explore new or improved schemas. The code has a bias towards simplicity and minimal dependencies, rather than elegance and re-usability. We expect collaboration will focus more on schemas and examples than on our supporting software.

The app reads its schemas and examples from the data/ directory when it starts up. These are expressed in simple text formats. Proposals to schema.org can be provided as diffs or github pull requests.

Internals

Internally, the app uses a simple RDF-like graph data model, and has a parser for the RDFa Lite subset that we use to represent schemas. Potential contributors are cautioned that this code is not designed to become a general purpose framework, and that we're comfortable with it being hardcoded in various ways around the needs and approaches of schema.org. If that's not too discouraging, do let us know if you find interesting uses for it or have ideas for improvements.

See also wiki: https://github.com/schemaorg/schemaorg/wiki/Contributing

Formats and standards

All schemas and examples are in data/ in utf-8 encoded files.

The main schemas file is data/schema.rdfa (utf-8)

While developing schemas, using data/sdo-somethinghere-schema.rdfa can be useful.

The format is based on W3C RDFS in HTML/RDFa format, see http://schema.org/docs/datamodel.html

The examples are stored in data/examples.txt (utf-8) and other *.txt files.

As with schemas, data/*examples.txt will also be read. It can be useful to develop using separate files. When vocabulary is finally integrated into the main repository, schema data will be merged into schema.org. However examples will stay in separate files, as this works better with git's file comparison machinery.

The data/releases/ hierarchy is reserved for release snapshots (see http://schema.org/version/).

The ext/*/ hierarchy is reserved for extensions (see http://schema.org/docs/extension.html).

Github Branch naming

http://schema.org/docs/releases.html lists releases by working codename and release name.

We began using Ghostbusters character names (http://en.wikipedia.org/wiki/Ghostbusters#Cast) sdo-stantz, sdo-venkman, sdo-stantz; inspired by http://schema.org/Role discussions.

e.g. successor to http://schema.org/docs/releases.html#v1.91 was code-named sdo-venkman, and eventually became http://schema.org/docs/releases.html#v1.92

You can therefore see candidate draft release notes in the Git repository at docs/releases.html

As of May 2015, our next release will be called sdo-ganymede. The default branch in Github is named after the release. https://en.wikipedia.org/wiki/Ganymede_(moon) ... subsequent names will be in this general direction.

Notes

This documentation concerns the software codebase rather than schema.org itself.

However do note that labels, comments, and documentation should use US English (in the code and schemas), if a choice between English variants is needed. Please aim for international English wherever possible.

See also: https://twitter.com/schemaorg_dev

About

Schema.org - schemas and (appengine) software

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • HTML 96.0%
  • Python 3.3%
  • Other 0.7%