Do we really need virtually every string to be an RDF literal (with the overhead of the data type and language attributes). Is it really necessary/useful, for example, to specify the display name of a contributor like this? Is the data type of the display name ever going to be anything other than a string? Or the language of a contributor? What does the FOAFPerson.language.language actually mean?
Can we aim for simplicity where possible please and keep the complexities where they really add value.