JpegRDF: JPEG Metadata in RDF

27 Apr 2005; last modified 08 Oct 2010

This is the permanent status page for JpegRDF. JpegRDF is an application for extracting, storing, and updating RDF metadata about JPEG images. Version 2.3.0, with support for the MakerNote field from Canon cameras, is now available.

JpegRDF manipulates RDF in JPEG images. The RDF is stored in the JPEG comment field inside the image file and may be created by extracting information from the image's EXIF data (if it has any). This version of JpegRDF includes support for decoding the MakerNote field from Canon digital cameras.

The current release is 2.3.0 from 27 Apr 2005. This is a stable release; it is implemented in Java and runs on any platform that supports Jena 2.x. You can get “jpegrdf” from the download page on SourceForge. It is available under the Apache Software License. Portions derived from code published by the W3C may be under a different license.

Previous releases:

  • 2.2.1, from 07 Jun 2004 was a stable release that included a few bug fixes.

  • 1.5.1, from 28 Dec 2003 was a stable release implemented on top of the Jena 1.x repository.

JpegRDF is maintained by Norman Walsh. Please report any bugs that you encounter.

If you’d like to become involved with JpegRDF, you can browse the the CVS repository or access it directly from The module name is jpegrdf.

JpegRDF was first announced on 12 Apr 2003.


Have you considered using Adobe's XMP? Did you intentionally avoid it?

—Posted by Dave Brondsema on 16 Jun 2005 @ 04:10 UTC #

Supporting XMP is on my TODO list. I haven't quite got my head around what's required to support it. If you've got a JPEG with some XMP in it, please send it to me :-)

—Posted by Norman Walsh on 16 Jun 2005 @ 11:42 UTC #

The PHP Metadata Toolkit at has a "try me" page which is very useful. It uses a jpeg with (AFAIK) every possible type of embedded metadata.

—Posted by Dave Brondsema on 17 Jun 2005 @ 03:09 UTC #

Oh it's cool program

—Posted by Olga on 17 Dec 2005 @ 09:27 UTC #

I just downloaded it.. tried to run it.. and it gives following error.. could you please let me know what is wrong? I have not been able to execute any of the options provided.... my goal is to use java -rdf option.. and store it in the images, even that command doesn't work. ..many thanks in advance!!

java com.nwalsh.jpegrdf.JpegRDF -exif *.jpg

WARN [main] ( - unknown-source: {W107} Bad URI: \Documents and Settings\Owner\.jpegrdf.rdf is invalid. Port should only contain digits! WARN [main] ( - unknown-source: {W107} Bad URI: \INRIA\eclipse\workspace\jpegrdf is invalid. Port should only contain digits! ERROR [main] ( - file://E/INRIA/eclipse/workspace/jpegrdf/Flowers001.JPG(line 6 column 35): {E214} Resolving against bad URI WARN [main] ( - file://E/INRIA/eclipse/workspace/jpegrdf/Flowers001.JPG(line 6 column 35): {W136} Relative URIs are not permitted in RDF

—Posted by Arun on 05 Jan 2006 @ 03:59 UTC #

Those are some odd message. Do use Jena in any other applications? I think the RDFDefaultErrorHandler is a Jena thing. If you send me a sample image, I'll check that there's not something in there that JpegRDF is tripping over.

All the backslashes in the "URIs" in those error messages are also a source of concern. But it's not clear where they're coming from.

—Posted by Norman Walsh on 24 Feb 2006 @ 12:25 UTC #