Retrieving Keyword properties
A taxonomy consists of Keywords organized in a tree hierarchy. To get to a Keyword, use the API to get the root Keyword, then traverse the tree to access all child Keywords in the Keyword branch. Keywords can have properties which can determine, for example, whether to display this Keyword or not in navigation. Keywords have a system property called Key; metadata; and relations to other Keywords.
Keyproperty-
Use a Keyword's
Keyproperty to associate an external resource to the Keyword, for example, a product ID. Given a Keyword, use theGetKeywordKeymethod to retrieve theKeyproperty (ASP.NET example):TaxonomyFactory taxonomyFactory = new TaxonomyFactory(); Keyword keydFacet = taxonomyFactory.GetTaxonomyKeyword("tcm:9-3-1024"); String keyValue = keydFacet.getKeywordKey(); - Keyword metadata
-
If a Keyword has metadata defined, you can retrieve this metadata from the
KeywordMetaproperty, which is a dictionary of name-value pairs (ASP.NET example):CustomMeta keywordMeta = null; IDictionary metaNameDictionary = null; IEnumerator metaNameEnumerator = null; NameValuePair currentMeta = null; DictionaryEntry currentMetaDE; TaxonomyFactory tf = new TaxonomyFactory(); Keyword currentFacet = tf.GetTaxonomyKeyword("tcm:9-3-1024"); keywordMeta = currentFacet.KeywordMeta; if (keywordMeta != null) { metaNameDictionary = keywordMeta.NameValues; metaNameEnumerator = metaNameDictionary.GetEnumerator(); if (metaNameEnumerator != null) { while (metaNameEnumerator.MoveNext()){ currentMetaDE = (DictionaryEntry)metaNameEnumerator.Current; currentMeta = (NameValuePair)currentMetaDE.Value; if (currentMeta != null) { Response.Write(currentMeta.Name + " " + currentMeta.Value + currentMeta.ValueType); } } } } - Related Keywords
-
In addition to a parent and children, a Keyword can also have a relationship to other Keywords, indicating, for example, a 'see-also' relationship. The following ASP.NET implementation retrieves the related Keywords of a Keyword as a set of strings (Content Manager URIs):
String[] relatedKeywordURIs = null; String selectedKeywordURI = "tcm:12-800-1024"; Keyword selectedKeyword = null; TaxonomyFactory taxonomyFactory = new TaxonomyFactory(); selectedKeyword = taxonomyFactory.GetTaxonomyKeyword(selectedKeywordURI); relatedKeywordURIs = selectedKeyword.GetRelatedKeywordUris();