4.2 The Resource Description Framework 69
called thepredicate. Together the three resources form astatement, analogous
to a statement in natural language. It is a good practice to use verbs for the
names of predicates so that each RDF statement looks just like a sentence,
and means essentially the same. RDF statements are also calledtriples. Some
of the triples of the RDF graph in figure 4.2 include the following:
:1 rdf:type bioml:locus
:1 bioml:name "HUMINS locus"
:1 bioml:contains :2
:2 rdf:type bioml:gene
:2 bioml:name "Insulin gene"
:2 bioml:isStoredIn :3
...
The underscore means that the resource is a blank node so it does not have a
URI. The other resources are part of either the BioML ontology or are part of
the RDF language. When expressed in English the triples above might look
like the following:
Anonymous node #1 is of type locus.
Anonymous node #1 has name "HUMINS locus".
Anonymous node #1 contains anonymous node #2.
Anonymous node #2 is of type gene.
Anonymous node #2 has name "Insulin gene".
Anonymous node #2 is stored in anonymous node #3.
...
Simple data values, such as the text string “HUMINS locus” are formally
defined by XSD datatypes as in section 2.4.
Unlike the conversion from DTDs to XSD, it is not possible to automate the
conversion from DTDs to RDF. The problem is that relationships are not ex-
plicitly represented in either DTDs and XSD. In the Medline DTD shown in
figure 2.2, some of the elements correspond to RDF classes while others cor-
respond to RDF properties. A person who is familiar with the terminology
can usually recognize the distinction, but because the necessary information
is not available in the DTD or schema, the conversion cannot be automated.
TheMedlineCitationelement, for example, probably corresponds to an
RDF class, and each particular Medline citation is an instances of this RDF
class. After a little thought, it seems likely that all of the other elements in
the Medline DTD correspond to RDF properties. However, these choices are