The program itself is pretty basic. Images to be loaded can either be specified as command-line arguments when the program is launched, or by using File->Open File. After you have entered the information you want,click "Apply" to save this information to the image.
The GUI can be split into three sections. The top, which contains the menu bar and the tool bar, the right bottom, which contains the image, and the left bottom, where the data is entered.
The toolbar allows you to "apply" the changes to the rdf, skip to the next/previous image (changes are not applied), and select a language. The rdf is marked as stored in this language, and the labels and information for the schemas are displayed in this language, if the schema supports it.
There are three menus. The File menu lets you load an image from your local computer or from the web, save the data to the currently loaded image, and jump between images using "next", "previous", and "jump to".
The Edit menu contains functions relating more to RDF, including loading a new schema from a local text file or the web, and toggling an existing one. A schema that is deactivated (toggled off) is neither displayed in the editor nor added to the image. "Import" and "Export" RDF will import and export RDF between a text file and RdfPic's current internal model. If a picture is loaded, the statements will be added to the image's metadata (with the file location intact), and if no picture is loaded, RDF can still be imported to populate the Foaf lists or set preferences from an externa life. "Extract Raw Data" copies all of the image's application data and comment fields byte for byte to a file. "Insert Raw Data" inserts any file's data into the image file. "Save Preferences" will save data, depending on the schema, to the preferences file in ~/.rdfpic. (See below for more details.)
The "?" menu leads to a help file and the about box.
Rdfpic is built around the concept of an rdf "schema". Each schema has a number of attributes whose values can be set. For instance, a schema "rendering" could include a "Renderer used" field. Each of these schemas has a tab in the left bottom section of the Rdfpic interface. On startup, four schemas are loaded: "DC" (Dublin Core), "Technical" (Camera Information), "Exif" (Exif tags), and "Foaf" (People markup). For a normal schema, each of the attributes of a schema has a row in the tab pane. The row has three columns: the field name (a tooltip gives an explanation), a checkbox, and a place to actually enter the string. By default, all properties are reset whenever the active image changes. If the checkbox is checked, however, that property becomes "persistent"; its value is not reset. A history of the previous values entered is available: they are stored in the combobox which you edit.
Making a schema is fairly easy. It is just a file in RDF. RdfPic recognizes certain tags as corresponding to certain properties.
It helps to have a little prolog about the schema itself:<rdf:Description rdf:about="#"> <dc:title>schema name</dc:title> (recommended #1) <dc:source rdf:resource="http://default.namespace.of/schema" /> (recommended #2) <pic:object-domain rdf:resource="http://url/for/rdf.type"> (optional #3) </rdf:Description>To describe an actual property field:
<rdf:Property rdf:about="http://reference.to/predicate"> <rdfs:label xml:lang="en">human-readable predicate name</label> (required #4) <rdfs:label xml:lang="fr">predicatename in another language</label> (recommended #5) <rdfs:comment xml:lang="en">description of predicate</comment> (required #6) <rdf:value>pre-set value of predicate</rdf:value> (optional #7) <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UnambiguousProperty"/> (optional #8) <pic:invisible /> (optional #9) </rdf:Property>Repeat above as necessary.