this incurs a db hit even when $vocabularyId is null