Naming conventions

As we move closer to figuring out how to use Protégé to create our ontology for the Core Vocabulary, I would like to ask if we should adopt a naming convention for properties/attributes/classes/whatever?

Strictly speaking, the names should be irrelevant because this data is processed by a machine and machines don't speak natural languages. But I also have a concern for the ordinary software developers, who like a bit of "self documentation" in method names, variable names etc.

For this reason, it would be good if we had a few simple rules to make the ontology (and subsequent vocabulary) self-documenting from a human point of view. For example, it would be good if the name of a property suggested a type, such as "hasABC" would always imply a Boolean type. (I come from a formal background, so I know of the dangers of implied typing (e.g. Hungarian Notation) but we should be able to enforce the relationship if we control the ontology properly.)

Take the samples that we have been using internally as we learn how to use Protégé. We have cases of hasABC and supportsABC (both Booleans) and we have cases of hasABC and supportsABC being non-Boolean. While this is valid from a formal perspective, a typical developer using these names might express some doubt as to whether compatible types were being used.

What do others think?

---Rotan



Sample from our ongoing experiments with Protégé:

hasPointingResolution
	PointingResolution
	Pixel

supportsBluetoothProfiles
	BluetoothProfile
	Dialup Networking

supportsInputCharacterSets
	CharacterSet
	WINDOWS-1252

supportsVoiceRecognition
	Boolean
	true

hasNumberOfSoftKeys
	int
	0

hasTextInputType
	TextInputType
	Alphanumeric

hasPrimaryCPU
	CPU
	ARM9

hasDeviceName
	string
	Sony Ericsson P910i

hasProportionalDefaultFont
	Boolean
	true

supportsAudioOutput
	Boolean
	true

hasDisplay
	Display
	Display_SonyEricsson_P910

supportsOutputCharacterSets
	CharacterSet
	WINDOWS-1252

hasTactileInputType
	TactileInputType
	Full Keyboard

Received on Tuesday, 13 March 2007 12:00:21 UTC