Windchill REST Services > Windchill REST Services Domain Capabilities > PTC Domains > PTC Classification Structure Domain
  
PTC Classification Structure Domain
The PTC Classification Structure (ClfStructure) domain provides access to classification nodes and the hierarchy of classification nodes in Windchill. In this domain, you can perform a classification search. The domain includes entities that represent classification node and classified object.
The domain provides navigations to the child nodes or parent node of a classification node. It also provides navigation to the classified objects associated with a classification node.
The following table lists the significant OData entities available in the PTC Classification Structure domain. To see all the OData entities available in the PTC Classification Structure domain, refer to the EDM of the domain. The domain EDM is available at the metadata URL.
Items
OData Entities
Description
Classification node
ClfNode
The ClfNode entity represents a classification node. In Windchill, all the nodes which are accessible from the classification tree are represented using this entity. For example, the entity represents nodes accessed from classification administration, classification explorer, and so on.
* 
In the ClfNodes.json file, the clfStructureNameSpace property specifies the default namespace com.ptc.csm.default_clf_namespace for the classification node. If you want to use some other namespace, specify the namespace in the clfStructureNameSpace property.
The property supports only one namespace.
Classified object
ClassifiedObject
The ClassifiedObject entity represents a classified object associated with a classification node.
In Windchill REST Services 1.3 or later, the property Required is added to the ClfAttributeType complex type. This property specifies if the attribute is a mandatory attribute for classification.
Support Classification Search Using ANY Operator with $filter Expression
You can use classification attributes to perform a classification search. To perform the search, use the $filter parameter along with the lambda operator ANY in the URL. You must query on the ClassificationAttributes property, which is available in the ClassifiedObject entity.
To query, follow these guidelines:
In the query, you must specify the internal name, followed by the display value of the classification attribute. If both the parameters are not specified in the required sequence, the URL malformed exception is thrown.
Enclose the name-value pair in parentheses.
You can use the AND operator for the name-value pair.
The InternalName property supports only EQ operator.
Calls to methods startswith, endswith, and contains are supported for attributes, which are of type String. An exception is thrown for other attribute types.
The GET request URL for classification search is:
https://<windchill server>/Windchill/servlet/odata/v1/ClfStructure/ClfNodes('classificationNode')/ClassifiedObjects?$filter=ClassificationAttributes/any(d:d/InternalName eq 'attributeInternalName' and d/DisplayValue eq 'attributeDisplayValue')
For example, consider classification attribute with internal name xje136 and display value 12. To perform a classification search on the classification node FASTENER-THREADEDINSERT, use the following GET request:
GET https://<windchill server>/Windchill/servlet/odata/ClfStructure/ClfNodes('FASTENER-THREADEDINSERT')/ClassifiedObjects?$filter=ClassificationAttributes/any(d:d/InternalName eq ‘xje136’ and d/DisplayValue eq '12') HTTP/1.1