4.2 The Resource Description Framework 65
n_associations="149784">
binding, describing the actions of a gene product at the
molecular level. A given gene product may exhibit one or
more molecular functions.
...
The entire GO database is currently over 350 MB. The root element (named
go:go), defines the two namespaces that are used by the database: RDF
and the GO. RDF statements are always contained in an element named
rdf:RDF. Within therdf:RDFelements look like ordinary XML elements,
except that they are organized in alternating layers, orstripes, as discussed in
section 1.6. The first layer defines instances belonging to classes. In this case,
the GO database defines two instances of typego:term. The second layer
makes statements about these instances, such as thego:accessionidenti-
fier and thego:name.Therdf:aboutattribute is special: it gives the re-
source identifier (URI) of the resourceaboutwhich one is making statements.
Therdf:resourceattribute is also special: itrefersto another resource.
Such a reference is analogous to a web link used for navigating from one
page to another page on the web. If there were a third layer, then it would
define instances, and so on. For an example of deeper layers, see figure 1.14.
XML, especially when using XML Schema (XSD), is certainly capable of ex-
pressing annotations about URIs, so it is natural to wonder what RDF adds
to XSD. Tim Berners-Lee wrote an article in 1998 attempting to answer this
question (Berners-Lee 2000b). The essence of the article is that RDF seman-
tics can be closer to the semantics of the domain being represented. As we
discussed in section 2.2, there are many features of the semantics of a do-
main that are difficult to capture using DTDs or XML schemas. Another way
of putting this is that XML documents will make distinctions (such as the
order of child elements) that are semantically irrelevant to the information