Ingested instance data will use local names for display if rdfs:label is missing. The application should not depend on the presence of rdfs:labels for all ingested entities. Instead, create a displayLabel property in the display/application ontology to be used instead. Make configurable to specify what property in the ingested data will be used to specify the displayLabel, such as skos:prefLabel or any other designated property.
Could be even more interesting with any or all of the following variations:
Allow specification of the property on a class-by-class basis. For example, an application that uses both SKOS and FOAF could specify foaf:name for foaf:Person, skos:prefLabel for skos:Concept.
Allow an ordered list of properties. For example: if the foaf:Person has a foaf:name, use it, otherwise use …
Allow specification of a graph traversal pattern (property chain). For example, for a bf:Work uses the property chain bf:hasTitle / rdfs:label to get the rdfs:label of the associated title as the display label of the work. (This is an example from the LD4L domain. bf = BIBFRAME.)