It appears CrossRef have recently opened up their meta-data services:
So it looks like the following request (see others here) should get you what you want:
curl -D - -L -H "Accept:text/turtle" "http://dx.doi.org/10.1126/science.1157784"
This is not yet a month old... so no wonder :) But it is pretty cool indeed. I'm linking to it already.
CrossRef have an API for doing just this.
You need an API key, which you can get by requesting an account here.
If the journal you care about is in PubMed, you can probably use the EUtils to retrieve this information. E.g. you can search PubMed by DOI and then also get the PMID via the EUtils.
Then it should be easy to also get all the further info you want.
[?]
Query PubMed for citation information using a DOI and Python
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
It would be great to have this for all articles (not only those in PubMed) and with more extensive metadata than is available through CrossRef (e.g. keywords).