Code Monkey home page Code Monkey logo

schemaorg's Introduction

Welcome to Schema.org

This is the Schema.org project repository. It contains all the schemas, examples and software used to publish schema.org. For the site itself, please see Schema.org instead.

Note: Much of the supporting software is imported from a sub module: 'sdopythonapp'

Issues and proposals are managed here by collaborators around the project, especially participants of the W3C Schema.org Community Group. If you are interested to participate please join the group at the W3C, introduce yourself and find or file issues here that engage your interest. If you are new to Git and GitHub, there's a useful introduction to GitHub in the W3C Wiki.

There are also continuous integration tests to check incoming pull requests.

Issue #1 in GitHub is an entry point for release planning. It should provide an overview of upcoming work, in terms of broad themes, specific issues and release milestones.

Issue #1 will link to per-release entry points, or else navigate issues via label or milestone within GitHub. Every change to the site comes via discussions here. Substantive changes are recorded in our release notes. A preview of the draft new release notes can be found as part of the test site for our next release. Every month or so, after final review by the Schema.org Steering Group and wider community, we make a formal release.

Regarding CC and opensource licenses for documents and software, see our FAQ entry.

Improving schemas

We are always interested in practical suggestions for improvements to schema.org, and our collection of schemas has been growing gradually since our launch in 2011.

We try to prioritize simple fixes and improvements to our existing schemas, examples and documentation over the addition of new vocabulary, and we are most likely to add new schemas when there is evidence that some (preferably large-scale) consuming application will make use of the data. Consuming applications need not be search engines; software tools e.g. opensource, markup-enriched approaches to Web analytics, browser add-ons or cloud tools are all rich areas for exploration and collaboration. The important thing is that there should be some reasonable expectation of data consumers making good use of the changes. It is not sufficient to justify additions on the basis that search engines generally try to use Schema.org-based structured data. Smaller changes, and backwards-compatible changes, are easier to incorporate.

Note that Schema.org does not attempt to capture the full detail of Web content; it is necessarily a simplification of a more complex reality. This means that there will be many cases where adding more detail to Schema.org will look possible. However, in the interests of keeping Schema.org simple and usable for publishers and webmasters, we will often choose not to add such detail. Schema.org uses Web standards such as JSON-LD, Microdata and RDFa to allow for independent extension (for example, see GS1's vocabulary).

We are also highly unlikely to take on large scale reorganizations of Schema.org's terminology, if they are motivated solely by considerations of elegance, "proper modeling", ontological purity or conceptual unification. Although the project founders and team are familiar with - and respectful of - the traditions behind such concerns, the scale, scope and nature of Schema.org has required us to trade elegance and global consistency for a somewhat scruffier notion of incremental evolution and a pragmatic tolerance for a style that would be out of place in a formal ontology. Proposals for unifying, cross-domain logic-based knowledge structures may be better received e.g. in the Ontolog community.

We sometimes introduce types without dedicated property associations, simply for markup usability reasons. In a formal ontology, this is often considered poor modeling. However, logically equivalent structures can result in many more errors from publishers/webmasters unfamiliar with the underlying formal concepts behind JSON-LD or RDF/S. Schema.org is not a closed system, and other initiatives e.g. Wikidata or GS1 have defined many other terms that can be mixed in alongside those we define at schema.org. We also make efforts to align our designs to relevant external standards and initiatives, even when it reduces the global elegance of Schema.org considered alone. For example in a bibliographic or cultural heritage context we may be influenced by initiatives like MARC, BibFrame, and FRBR, while for e-commerce we collaborated with Good Relations and GS1. Schema.org's news-related terms were heavily influenced by incorporating IPTC's rNews design, alongside collaborations with fact checkers, the Trust Project, and others. Our TV and Music related vocabularies are heavily influenced by working with the BBC and the European Broadcasting Union, alongside the Music ontology and MusicBrainz; our schemas reflect these prior designs. We prefer to collaborate in this way, improving Schema.org incrementally and working to polish, integrate and blend such designs rather than produce our own pure model in isolation. The result may lack global elegance but brings our work into alignment with related efforts worldwide.

We always welcome issues that track usability and readability issues, but encourage a focus on concrete situations (e.g. how to describe repeating events) rather than global philosophical concerns (e.g. whether a Reservation or Action is "really" an Event). We prioritize local coherence (having sensible ways to describe many common situations) over global elegance (having a global theory in which everything has a sensible place). This doesn't mean we never have cleanups, but they are balanced against (and often outweighed by) other considerations.

When we add terms, often into the "Pending" area, we strongly encourage feedback that takes a global perspective: how does a new term relate to others, how could it be used alongside pre-existing patterns, etc. The changes we make during this integration phase reflect such considerations, but are usually expressed through modest rewording, examples, or adjustment to the documentation of type/property links, rather than through major restructuring.

  • Suggestions for improvements are always welcome here - please search for older discussions (including closed issues) before opening a new issue.
  • We particularly value improvements to existing definitions, examples and text, to clarify how schema.org vocabulary is used in practice.
  • Please don't be surprised or offended if you raise an issue proposing new schemas and it is marked by the project team as "noted" then closed. We have 100s of issues discussing possible improvements, and to keep things manageable we adopt the convention of noting then closing issues that are not likely to be immediately explored.
  • While many Schema.org improvements have been proposed via GitHub's "Pull request" mechanism (see also our list of PRs), please do not undertake any substantial development work without agreeing it with the project team here first.
  • All Pull Requests should reference specific issues that they're fixes or solutions for. This lets the schema.org community discuss problems and topics without it being tied too closely to a specific (and easily outdated) proposed fix.
  • Please note that some changes are much easier to make than others: the wording/phrasing in definitions is relatively easy to amend, whereas the exact spelling of a type or property ('Person', 'startDate' etc.) is much more disruptive to change.
  • There are many other projects developing schemas and ontologies for the Web, e.g. Wikidata or the vocabulary projects in the Linked Data community. Many of these projects go into more expressive detail than is possible for a project like Schema.org. To keep Schema.org manageable, we have a strong bias towards designs that are grounded in large scale usage on the Web, in particular usage by data-consuming applications since these in turn motivate data publishers. Other schema initiatives have different priorities and make different tradeoffs.

See more on "How we work"

Software

For most collaborators, all you need to know about the software is how to run it.

The objective of the software is to create a static copy of the Schema.org site, including potential local changes, to inspect and run behind a simple web server on a local system for testing. In the same way that a production release is deployed to a cloud server, your local version could then be deployed to a virtual machine using gcloud to enable collaboration with others.

Full instructions are available in SOFTWARE_README.md explaining how to create the initial local copy to work with, then evolve to test out any changes.

Essentially you will need to have a Linux-like (inc Mac) environment loaded with Python version 3.6 or above. You can then make test builds of schema.org running on your own machine accessible as http://localhost:8080/ or else post them on appspot.com for collaboration. See the Appengine documentation for details of the relevant gcloud commands.

More detailed information about the software and is use is available in SOFTWARE_README.md.

See also notes in the 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.ttl (utf-8)

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

The format is based on W3C RDFS in RDF/Turtle format.

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 https://schema.org/version/).

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

We no longer use github branches for work-in-progress. The main/ branch is our latest candidate. It is not guaranteed to be in a conceptually consistent state, but should stabilize prior to circulation of a release candidate for review.

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

schemaorg's People

Contributors

alex-jansen avatar chaals avatar danbri avatar dataliberate avatar dbs avatar dependabot[bot] avatar ericaxel avatar extua avatar gkellogg avatar gmackenz avatar ivan-pan avatar lanthaler avatar lazaruscorporation avatar lucy-kind avatar mattgarrish avatar matthiaswiesmann avatar mfhepp avatar nein09 avatar nicolastorzec avatar philbarker avatar richardwallis avatar scor avatar shankarnat avatar sopekmir avatar stuartrobinson avatar tilid avatar twamarc avatar unor avatar vholland avatar wikier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

schemaorg's Issues

StructuredValue description is confusing

"If you are messing around near StructuredValue, it would probably be worthwhile to fix up the comment on StructuredValue, which says that structured values are strings, but all the subclasses of StructuredValue are not strings." -- http://lists.w3.org/Archives/Public/public-vocabs/2014Aug/0205.html

http://schema.org/StructuredValue "Structured values are strings—for example, addresses—that have certain constraints on their structure."

Subtypes:

More specific Types
ContactPoint
GeoCoordinates
GeoShape
NutritionInformation
OpeningHoursSpecification
OwnershipInfo
PriceSpecification
QuantitativeValue
TypeAndQuantityNode
WarrantyPromise

Proposed vocabulary additions/changes - general rolling overview

2020 update

This was an earlier attempt to try to triage incoming suggestions into higher level groupings. We didn't keep up, hence #2573 and the creation of the suggestions-questions-brainstorming repo. The need still exists but I'm going to close this issue for now (and then move it over to that repo). --danbri@

Original text

This issue accompanies the rolling planning issue (#1) by providing at-a-glance view into the pile of vocabulary changes collected nearby. This is where "Closed but Noted (and possible Queued)" issues should be registered by the schema.org team. Doing so allows us to have an overview of potential work, and to avoid being overwhelmed with 100s of open issues. See our github issue management page for more details.

Noted proposals

The following gives an overview of proposals that have been received.

  • CreativeWork
    • #1010 Movie, TVSeries - proposed addition of cinematographer property.
    • #756 Poem
    • #749 MedicalWebPage
    • #737 keywords should allow URLs
    • #736 publications (a list of)
  • Place / LocalBusiness
    • #743 Distillery
    • Dataset
      • #713 - description of dataset (and database) schemas, beyond schema.org's.
        Top level or misfit
  • Product
    • IndividualProduct
      • #1289 - suggested new fields, (initially MSRP, MSRP Currency). While these can be handled via additionalProperty, also noting here.
  • 746 Animal

Major cross-cutting areas:

  • Events and Actions
  • Food (for Recipe, MedicalEntity / Diet, menus, Reservation, GS1 / food packaging, etc etc.) - #458
  • Achievements, credentials and awards. Relates to sports, JobPosting and to courses, e.g. see:
    • #1324 for sporting championship/tournament awards
    • #668 dance studio awards
    • #780 - use of starRating on hotels and food establishments; #1293 proposed EndorsementRating for critic's reviews and other non-scaled positive ratings.
    • #195 - extensive discussion of academic/scholarly, professional and vocational credentials around courses; also skills for a JobPosting: #1167

Changes / updates

  • #735 - Why is DownloadAction under TransferAction instead of ConsumeAction

Schema.org should document usage guidelines for Microdata 'itemid'

Migrating from https://www.w3.org/2011/webschema/track/issues/6

From http://groups.google.com/group/schemaorg-discussion/browse_thread/thread/62117670d187559e?pli=1

Raised as

"The concept is defined in
http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#global-identifiers-for-items
and means that you can do things like

Philip

This might seem like an academic questions, but it is what defines if
validators for schema.org should allow itemid or not. Do any of the
sponsors do anything with itemid? If not, updating the documentation
to explicitly say that it is not allowed (and ignored) would be most
welcome. "

... ensuing discussion made it clear that Schema.org does support itemid. This issue tracks the need to document that on Schema.org.

Add details to the property Global Location Information in Organization

Links have been provided to GS1 pages on GTIN8, GTIN13 and GTIN14 in Offer and Product. It would be helpful as well to add links to GS1 information on the Global Location Number in the Organization class. These are the links to the GS1 Global Data Dictionary definition for GLN as well as the GS1 GLN Summary:

http://apps.gs1.org/GDD/glossary/Pages/Global%20Location%20Number%20(GLN).aspx
http://www.gs1.org/barcodes/technical/idkeys/gln

Blog type mis-presented in site

http://schema.org/Blog looks wrong - not showing breadcrumbs.
(Someone kindly reported this in email which I can't find right now to acknowledge -but thanks!)

Here are the triples in the schema.rdfa file for both Blog type (which isn't working) and BlogPosting (which is) :

rdfa schema.rdfa | grep Blog

http://schema.org/BlogPosting http://www.w3.org/2000/01/rdf-schema#label "BlogPosting" .
http://schema.org/BlogPosting http://www.w3.org/2000/01/rdf-schema#comment "A blog post." .
http://schema.org/BlogPosting http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2000/01/rdf-schema#Class .
http://schema.org/BlogPosting http://www.w3.org/2000/01/rdf-schema#subClassOf http://schema.org/Article .

http://schema.org/blogPosts http://schema.org/rangeIncludes http://schema.org/BlogPosting .
http://schema.org/blogPost http://schema.org/rangeIncludes http://schema.org/BlogPosting .

http://schema.org/Blog http://www.w3.org/2000/01/rdf-schema#label "Blog" .
http://schema.org/Blog http://www.w3.org/2000/01/rdf-schema#comment "A blog" .
http://schema.org/Blog http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2000/01/rdf-schema#Class .
http://schema.org/blogPost http://schema.org/domainIncludes http://schema.org/Blog .
http://schema.org/blogPosts http://schema.org/domainIncludes http://schema.org/Blog .

It seems a subClassOf is missing.

Confirmed by looking at the markup:

<div typeof="rdfs:Class" resource="http://schema.org/Blog">
  <span class="h" property="rdfs:label">Blog</span>
  <span property="rdfs:comment">A blog</span>
</div>

It needs a supertype. CreativeWork?

CODE: RDFa in per-term pages should include inverseOf, subPropertyOf

For consistency it would be nice (but non-urgent) if the per-term pages also exposed this information.

Nearby:

CODE: support markdown (GFM) in http://schema.org/docs

It could make it straight forward to work in github issues and wiki pages, and then once something matures move it to http://schema.org/docs/

You can find example of schema.org documentation done with GFM in #125

I could also help here with another example and rewrite http://schema.org/docs/actions.html in GFM #123

Nice Markdown(+GFM) guide (3min claim) available at: https://guides.github.com/features/mastering-markdown/

This library for python looks quite popular: https://github.com/trentm/python-markdown2

Check/Fix status of True and False

http://schema.org/True
http://schema.org/False

"One thing, though: In the current version of schema.org, False and True are subtypes of Boolean. They should be instances / enumerated values."

Mostly recently pointed out by Martin Hepp, http://lists.w3.org/Archives/Public/public-vocabs/2014Sep/0191.html

(There's also the issue that such values very often show up as literals in data, even if they should be URIs. Could either try to fix documentation to encourage URI use, or document this as an 'expect the unexpected' pattern.)

Buyer / seller / provider redesign and cleanup

Per http://lists.w3.org/Archives/Public/public-vocabs/2014Aug/0008.html the rough consensus of discussion leads us to proposal 'Beta' in https://www.w3.org/wiki/images/7/7e/ProviderSellerVocabularyRe-DesignProposal.pdf

"Proposal Beta
This alternative proposal attempts ... to use only the existing vocabulary. The changes instead would be
in the descriptions associated with existing terms and intended usage model.
● Leverage the existing 'provider' property to describe the service provider, service operator, or
service performer (see provider in exchange model) and update its description to more clearly
indicate this intended usage;
● Leverage the existing 'seller' property to describe the entities which sell or offer a service on
behalf of the actual service provider (see seller in exchange model). In the case of flights, this
would be the airline through which a flight was booked. If a 'seller' is not provided, it is assumed
the 'provider' is also the 'seller'.
● Introduce a ‘broker’ property to describe entities that map to the broker concept in the
exchange model.
● deprecate ‘bookingAgent’ in favor of the more generic, newly proposed ‘broker’ property
● deprecate 'vendor' in favor of re-using 'seller'
● deprecate ‘merchant’ in favor of re-using ‘seller’
● deprecate 'carrier' within Flight and ParcelDelivery in favor of using the newly described
'provider'"

CODE: "Full hierarchy" does not list all types

As the top of docs/full.html says:

Note: as of 2014-04-04 this tree is not entirely up to date. Additional types have been
added: see EmailMessage, Reservation, Question and Answer, added in version 1.1.
Version 1.2 added the Potential Actions vocabulary, see potentialAction, EntryPoint,
target, actionStatus, ActionStatusType, ActiveActionStatus, CompletedActionStatus,
PotentialActionStatus.

Short term, we need to add all of these back in (and any others that we're missing).

Long term, we need to programmatically construct the list. Because maintaining it manually is insane :)

Meta bug to provide overview of all python/site tool issues

2020 Update

I've gone through these, closed a few, tagged others for move to the suggestions-questions-brainstorming repo. I think we can close this issue (and maybe recycle it, as #3 is a good number).

Original text

This issue was (originally) intended for high-level planning, and relates to the set of issues tagged as site tools + python

See #1 for overall plan, and #2 for vocabulary planning.

Note:

  • ▶️ Being worked on
  • ✋ Work paused

Issues [to be] addressed

  • Site HTML
    • Issue (#67) RDFa in per term pages should include inverseOf & subPropertyOf
    • Issue (#217) The rdfs:subClassOf links in RDFa markup have room for improvement
    • Issue (#317) Add Turtle dumps on per-term views
    • Issue (#725) Description tag to include term description of sensible length, breaking on a sentence boundary. Issue extended to include same functionality for JSON-LD output also to strip out quotes and other breaking markup.
    • Issue (#1217) RDFa on Term page - subClassOf in odd place
  • Example txt files
    • Issue (#54) Automate comparison of examples with Schema
    • Issue (#177) Every example should have a unique ID
    • Issue (#499) Generate a list of terms that do not appear in examples
    • Issue (#1104) Workflow needs syntax-checkers integrated for all examples
    • Issue (#1145) Clean up .txt files
  • Tests
    • Issue (#156) Test supercededBy & inverseOf don't point to same thing
    • Issue (#250) Test ensuring sentences end on '.'
    • Issue (#485) Testcase to catch case where a property points to an enum that we forgot to enumerate
    • Issue (#782) Add a scripts/ utility for QA of Web-served functionality
    • Issue (#1205) Unit test warning if a property is inverseOf itself
    • Issue (#1280) Need python API telling us which examples exist in < 3 formats
    • Issue (#1329) Test to catch terms that are subtype/property of an attic term
  • Export formats / files
    • Issue (#197) Always generate updated RDF, OWL, JSON-LD
    • Issue (#208) Add more export formats
    • Issue (#703) Content Negotiation for Turtle file
    • Issue (#317 ) Add Turtle dumps on per-term views
    • Issue (#360) Representation of schema_org_rdfa in "canonized" Polyglot HTML5
    • Issue (#390) CSV download of all terms
    • Issue (#484) Release snapshot format improvements
    • Issue (#1101) Should the version history of the schema.org JSONLD context file be archived.
  • JSON-LD / Context
    • Issue (#51) JSON-LD context problem for properties that can take both URL or Text
    • Issue (#854) JSON-LD emerging best practice is to alias @type, @id (and other keywords)
    • Issue (#860) Add a 404 handler that detects lookupd of /id and /type (JSON-LD keywords) and explains what's up
  • Language
    • Issue (#491) Add the chinese translations
    • Issue (#1282) data/*schema files should have consistent language tagging
  • Meta vocabulary & display thereof
    • Issue (#182) Add to RDFS Conventions for see-also-issue-tracker, or see-also-documentation link
    • Issues (#233) (#255) Add domainHint & rangeHints for properties
    • Issue (#359) rdfs:comment ... Need quotation rules?
    • Issue (#465) Document .py API + schema config markup for deprecating (rather than marking as supersededBy) terms
    • Issue (#914) Implement a mechanism for recording context-specific term definitions (textual at least)
    • Issue (#1318) Create process/UI/etc for terms that graduate from Pending (or get archived/abandoned) - "attic"
  • Site functionality
    • Issue (#490) Site HTML should be responsive to people using tiny pocket computers
    • Issue (#879) Collect some useful/interesting visualizations of the schema.org vocabularies
  • Vocabulary Definition
    • Unit tests to check extension values
    • Extension vocabulary definition:
      • Define overall state of extension - Proposed / Released
      • Define state of individual terms within released extension - Proposed / Accepted
      • Include release version

Content negotiation

Hi,

I was wondering if it would make sense to consider different RDF serializations as a possible output format rather than RDFa only. This could happen via content negotiation. If you are a search bot and you would like to get some more information about the underlying schema you would ask most vocabulary pages in a way similar to the following:

curl -H "accept: application/rdf+xml" "http://schema.org/inLanguage"

Now, if the response header provides HTML rather than the suggested format, the bot could start parsing the page wrt RDFa and find out that there is indeed some useful information. Alternatively, schema.org could respond with a corresponding header that suggests that the returned entity can be parsed with a corresponding parser. From what I know, the latter option would be more in line with current best practices.

Andreas

Usability/quality issues with Offer (price, gtin, ...)

http://schema.org/Offer
http://schema.org/price

(originally relayed from a colleague, Matthias)

Fixed already:

Open...

Show multiple types (e.g. enhance h1 (breadcrumb) so that it shows all parent types)

Before I realized that types can have several parents, I was really confused why LocalBusiness shows me sometimes the breadcrumb "Thing > Place > LocalBusiness" and sometimes "Thing > Organization > LocalBusiness".

I think it would be nice to represent this fact also in the breadcrumb on top of the page (and not only indirectly in the property table).

A simple solution: Show one breadcrumb line per parent, sorted alphabetically.

This (or a more beautiful solution) has also the benefit that the tbody elements won’t change their order (depending on which breadcrumb you happen to get).

Additions to Actions

i needed it as an example for my suggestion in http://lists.w3.org/Archives/Public/public-vocabs/2014Sep/0182.html

Additions to Actions

AuthoooAr: Vicki Tardif Holland ([email protected])
Last Edited: 20140909

Background

As schema.org Actions are adopted by the community for everything from reserving a flight to listening to music, we are finding a need to describe new Actions and conditions on when and where a provider is available for a user to complete an Action. The following new types and properties are proposed to help with describing these conditions.

Thing > Action > OperateAction

The new OperateAction allows users to operate a device or application. It's subtypes
are ActivateAction, DeactivateAction, SuspendAction, and ResumeAction. OperateAction has no unique properties.

Thing > Action > OperateAction > ActivateAction

An action which allows a user to start a device or application (e.g. starting a timer or turning on a flashlight).

Thing > Action > OperateAction > DeactivateAction

Stop a device or application (e.g. stop a timer or turn off a flashlight).

Thing > Action > OperateAction > SuspendAction

Momentarily pause a device or application (e.g. pause music or pause a timer).

Thing > Action > OperateAction > ResumeAction

Resume an action which was formerly paused (e.g. resume playing music or resume the timer).

ConsumeAction

The ConsumeAction type already exists in schema.org. To date, we have primarily discussed conditions on the entity performing the action, but we want to have conditions on the object of the action as well. The proposed new properties are:

Property Expected Type Description
contingentOnOffer Offer An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it.

Offer

The following property will be added to the existing Offer type.

Property Expected Type Description
notAvailableAtOrFrom Place The action is not available for agents/objects in the specified region.

Examples

Available in the US-only

{
  "@context": "http://schema.org",
  "@type": "WatchAction",
  "target": "http://www.hulu.com/thedailyshowwithjonstewart",
  "contingentOnOffer": {
    "@type": "Offer",
    "availableAtOrFrom": {
      "@type": "Country",
      "name": "USA"
    }
  }
}

Not Available in China

{
  "@context": "http://schema.org",
  "@type": "WatchAction",
  "target": "http://www.hulu.com/thedailyshowwithjonstewart",
  "contingentOnOffer": {
    "@type": "Offer",
    "notAvailableAtOrFrom": {
      "@type": "Country",
      "name": "CHN"
    }
  }
}

Available in US and Later in Canada

{
  "@context": "http://schema.org",
  "@type": "WatchAction",
  "target": "http://www.hulu.com/thedailyshowwithjonstewart",
  "contingentOnOffer": [
  {
    "@type": "Offer",
    "availabilityStarts": "20140701",
    "availableAtOrFrom": {
      "@type": "Country",
      "name": "USA"
    }
  },
  {
    "@type": "Offer",
    "availabilityStarts": "20140801",
    "availableAtOrFrom": {
      "@type": "Country",
      "name": "CAN"
    }
  }
]}

"supercedes" spelling: "supersedes" is more mainstream

e.g. see http://brendanscott.wordpress.com/2013/02/21/supersede-v-supercede-proof-by-google/

While "supercedes" isn't out-and-out wrong, it is significantly less conventional than "supersedes" (regardless of US vs EN English usage).

See also http://www.dailymail.co.uk/news/article-1049010/Cant-spell-Maybe-youre-clever-says-Collins-dictionary.html

"Many of us wrongly come up with ' supercede' because of our knowledge of other words including intercede or precede. The word itself comes from the Latin super-sedere, meaning to desist.

See also http://www.dailymail.co.uk/news/article-1049010/Cant-spell-Maybe-youre-clever-says-Collins-dictionary.html#ixzz3AsGjt6s4

https://twitter.com/danbri/status/501750568549761026

To change would require only local code changes - the property is unlikely to be used outside of our repo.

CODE: Python code should have docstrings

Navigating around api.py is a little disorienting as it does not include any docstrings to identify what the classes such as "Unit" represent. One can certainly work it out over time, but docstrings would help get newbies up to speed faster :)

downvoteCount, upvoteCount definitions should mention Comment type

http://schema.org/downvoteCount
http://schema.org/upvoteCount
http://schema.org/Comment

Via JasonJ: re https://schema.org/Comment "the property descriptions for downvoteCount and upvoteCount are specific to Question but the properties apparently apply to comments as well."

Also maybe "The parent of a question, answer or item in general." -> "The parent of a question, answer or comment item in general."? (http://schema.org/parentItem)

Use "link" instead of "meta" element for URLs

Some (?) examples use a meta element for providing a URL. Instead, a link element should be used.

Example on http://schema.org/WebSite:

<meta itemprop="url" content="http://www.example.com/"/>

<meta property="url" content="http://www.example.com/"/>

According to HTML5 (W3C WD), the meta element is only to be used for metadata

[…] that cannot be expressed using the […] link […] elements

Microdata (W3C Note) also requires:

If a property's value, as defined by the property's definition, is an absolute URL, the property must be specified using a URL property element.

VOCAB: Fix Boolean (and DataType handling) in general

Boolean is not currently declared as a subclass of anything, thus as it is neither an instance of rdfs:Class nor of rdfs:Property it is not rendered correctly (no breadcrumb header, no enumeration members).

Boolean should be declared as a subclass of DataType, which also currently is not handled correctly.

Linter warnings on schema.org examples

Update: https://gist.github.com/danbri/c5fef76dcf89bc23bdb6 has a fresh run against 2015-01-28th snapshot of sdo-stantz branch. -- @danbri

FYI, the following are warnings produced by the Structured-Data Linter for current schema.org examples:

[ earlier results removed for readability, see link above ]

This was done through the following:

Changes to the schema.org RDFS need to be synchronized by updating the vocabulary in the RDF.rb gem, typically done after each release.

Release History and Planning

Issue #1 tracks high-level plans for schema.org. It gives entry points for release-level issues as well as broader goals that correspond to rough milestones over the next year. In practice, these goals are pretty hit-and-miss w.r.t. people actually doing the necessary work, but they are reported here as aspirations and for discussion.

See also release history and draft next release.

Release plans

Issues Overview

We label issues by topic, workflow status. The most concrete milestone is the next upcoming release, which since April 2019 are monthly, officially on (and named for) the 1st of the month, but in practice released on the first working day following. Work in progress edits can be found on webschemas.org.

We try to avoid unlabelled issues. The most important labels and entry points are:

Historical Meeting agenda and notes

  • #587 2015-05-28
  • #588 2015-06-11
  • (July/August email only)
  • #775 2015-09-03
  • In Nov 2015 we agreed to stop our regular audio calls and operate in public email/github primarily.

Steering Group background

Elaborating on http://schema.org/docs/about.html -

The day to day operations of Schema.org, including decisions regarding the schema, are handled by a steering group, which includes representatives of the sponsor companies and a small number of individuals who have contributed substantially to Schema.org and related standards. The steering group typically makes decisions by consensus. All members of the steering group have the same standing. The steering group is currently chaired by R.V.Guha, who does not represent his employer in this capacity. Discussions of the steering group are public, see https://groups.google.com/forum/#!forum/schema-org-sg (very rarely used; more often CC:'d threads with the W3C Community Group public list).

JSON-LD context problem for properties that can take both URL or Text

See also notes in Wiki: https://github.com/schemaorg/schemaorg/wiki/JsonLd

e.g. namedPosition in Role example http://schema.org/Role
{
"@context": "http://schema.org",
"@type": "SportsTeam",
"name": "San Francisco 49ers",
"member": {
"@type": "OrganizationRole",
"member": {
"@type": "Person",
"name": "Joe Montana"
},
"startDate": "1979",
"endDate": "1992",
"namedPosition": "Quarterback"
}
}

Currently the context file (see http://schema.org/docs/jsonldcontext.json.txt) has this:
"namedPosition": { "@type": "@id" },

... because an URL is a possible value. However text is also a possible value, and currently more likely. The problem is that the JSON-LD context forces the property value to be interpreted as a (possible relative) URI reference, hence in http://json-ld.org/playground/ the value shows up relative to the site the data's on:

_:b1 http://schema.org/namedPosition http://json-ld.org/playground/Quarterback .

We could over-ride this, e.g. using:

"namedPosition": { "@value": "Quarterback" }

Or we could change the context for this property (and others?), so that literal values are the default. But then we'd need to use (something like) this notation for controlled values:

"namedPosition": { "@id": "http://sport-vocabs.example.org/Quarterback" }

Improvements to Geo-related schemas (e.g. GeoShape) liase with GeoJSON(-LD), W3C GeoSpatialWG et al.

http://schema.org/GeoShape
http://schema.org/box
http://schema.org/polygon

See discussion at geojson/geojson-ld#28

Original text: "See http://geowanking.org/pipermail/geowanking_geowanking.org/2012-June/026179.html
Schema.org's design came via rNews from GeoRSS, and there from GML. It needs a fresh look."

This is now a meta bug for improvements to schema.org's geo(spatial) vocabulary:

Geospatial 'core' terms:

Related schema.org vocabulary for locally oriented info:

  • Physical Web e.g. via beacons such as https://github.com/google/physical-web - what kind of richer schemas are needed to support these use cases?
  • Accessibility of Places - schema.org expects to do some work to support scenarios such as 'is there a wheelchair ramp?', see #254
  • Opening Hours markup needs improving - #245

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.