ssmt_str, /* a string value that requieres a SPARQL FILTER */
ssmt_fts, /* a string value that will be queried with SPARQL 'fts:match' */
ssmt_date, /* date values are handled in a special map function map_daterange() */
- ssmt_cnt /* kMDItemContentType, requires special mapping */
+ ssmt_type /* kMDItemContentType, requires special mapping */
+};
+
+enum kMDTypeMap {
+ kMDTypeMapNotSup, /* not supported */
+ kMDTypeMapRDF, /* query with rdf:type */
+ kMDTypeMapMime /* query with nie:mimeType */
};
struct spotlight_sparql_map {
const char *ssm_sparql_attr;
};
+struct MDTypeMap {
+ const char *mdtm_value; /* MD query value of attributes '_kMDItemGroupId' and 'kMDItemContentTypeTree' */
+ enum kMDTypeMap mdtm_type; /* whether SPARQL query must search attribute rdf:type or nie:mime_Type */
+ const char *mdtm_sparql; /* the SPARQL query match string */
+};
+
extern struct spotlight_sparql_map spotlight_sparql_map[];
extern struct spotlight_sparql_map spotlight_sparql_date_map[];
-
+extern struct MDTypeMap MDTypeMap[];
#endif