]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/spotlight_SPARQL_map.c
Set Tracker environment
[netatalk.git] / etc / afpd / spotlight_SPARQL_map.c
index 553e7639c7a840a6bc47ae34399910d1171c846e..39ef39e0215982074e3c3d779b99186ddc4f5e87 100644 (file)
 
 #include "spotlight_SPARQL_map.h"
 
+#define NOTSUPPORTED NULL
+#define SPECIAL      NULL
+
 struct spotlight_sparql_map spotlight_sparql_map[] = {
-/*   ssm_spotlight_attr                    ssm_sparql_attr              ssm_sparql_query_fmtstr */
-    {"*",                                  "fts:match",                 "?x fts:match '%s'"},
-    {"kMDItemTextContent",                 "fts:match",                 "?x fts:match '%s'"},
-    {"kMDItemDisplayName",                 "nfo:fileName",              "?x nfo:fileName ?y FILTER(regex(?y, '%s'))"},
-    {"kMDItemContentCreationDate",         "nfo:fileCreated",           "?x nfo:fileCreated '%s'"},
-    {"kMDItemFSContentChangeDate",         "nfo:fileLastModified",      "?x nfo:fileLastModified '%s'"},
-    {"kMDItemContentModificationDate",     "nfo:fileLastModified",      "?x nfo:fileLastModified '%s'"},
-    {NULL, NULL, NULL}
+    /* ssm_spotlight_attr               ssm_type,   ssm_sparql_attr */
+    {"*",                               ssmt_fts,   "fts:match"},
+
+    /* Filesystem metadata */
+    {"kMDItemFSLabel",                  ssmt_num,   NOTSUPPORTED},
+    {"kMDItemDisplayName",              ssmt_str,   "nfo:fileName"},
+    {"kMDItemFSName",                   ssmt_str,   "nfo:fileName"},
+    {"kMDItemFSContentChangeDate",      ssmt_date,  "nfo:fileLastModified"},
+
+    /* Common metadata */
+    {"kMDItemTextContent",              ssmt_fts,   "fts:match"},
+    {"kMDItemContentCreationDate",      ssmt_date,  "nie:contentCreated"},
+    {"kMDItemContentModificationDate",  ssmt_date,  "nfo:fileLastModified"},
+    {"kMDItemAttributeChangeDate",      ssmt_date,  "nfo:fileLastModified"},
+    {"kMDItemAuthors",                  ssmt_str,   "dc:creator"},
+    {"kMDItemCopyright",                ssmt_str,   "nie:copyright"},
+    {"kMDItemCountry",                  ssmt_str,   "nco:country"},
+    {"kMDItemCreator",                  ssmt_str,   "dc:creator"},
+    {"kMDItemDurationSeconds",          ssmt_num,   "nfo:duration"},
+    {"kMDItemNumberOfPages",            ssmt_num,   "nfo:pageCount"},
+    {"kMDItemTitle",                    ssmt_str,   "nie:title"},
+    {"_kMDItemGroupId",                 ssmt_type,  SPECIAL},
+    {"kMDItemContentTypeTree",          ssmt_type,  SPECIAL},
+
+    /* Image metadata */
+    {"kMDItemPixelWidth",               ssmt_num,   "nfo:width"},
+    {"kMDItemPixelHeight",              ssmt_num,   "nfo:height"},
+    {"kMDItemColorSpace",               ssmt_str,   "nexif:colorSpace"},
+    {"kMDItemBitsPerSample",            ssmt_num,   "nfo:colorDepth"},
+    {"kMDItemFocalLength",              ssmt_num,   "nmm:focalLength"},
+    {"kMDItemISOSpeed",                 ssmt_num,   "nmm:isoSpeed"},
+    {"kMDItemOrientation",              ssmt_bool,  "nfo:orientation"},
+    {"kMDItemResolutionWidthDPI",       ssmt_num,   "nfo:horizontalResolution"},
+    {"kMDItemResolutionHeightDPI",      ssmt_num,   "nfo:verticalResolution"},
+    {"kMDItemExposureTimeSeconds",      ssmt_num,   "nmm:exposureTime"},
+
+    /* Audio metadata */
+    {"kMDItemComposer",                 ssmt_str,   "nmm:composer"},
+    {"kMDItemMusicalGenre",             ssmt_str,   "nfo:genre"},
+
+    {NULL, ssmt_str, NULL}
+};
+
+struct MDTypeMap MDTypeMap[] = {
+    {"1",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Email"},
+    {"2",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#Contact"},
+    {"3",                       kMDTypeMapNotSup,   NULL}, /* PrefPane */
+    {"4",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Font"},
+    {"5",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Bookmark"},
+    {"6",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#Contact"},
+    {"7",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video"},
+    {"8",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Executable"},
+    {"9",                       kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Folder"},
+    {"10",                      kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio"},
+    {"11",                      kMDTypeMapMime,     "application/pdf"},
+    {"12",                      kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Presentation"},
+    {"13",                      kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Image"},
+    {"public.jpeg",             kMDTypeMapMime,     "image/jpeg"},
+    {"public.tiff",             kMDTypeMapMime,     "image/tiff"},
+    {"com.compuserve.gif",      kMDTypeMapMime,     "image/gif"},
+    {"public.png",              kMDTypeMapMime,     "image/png"},
+    {"com.microsoft.bmp",       kMDTypeMapMime,     "image/bmp"},
+    {"public.content",          kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document"},
+    {"public.mp3",              kMDTypeMapMime,     "audio/mpeg"},
+    {"public.mpeg-4-audio",     kMDTypeMapMime,     "audio/x-aac"},
+    {"com.apple.application",   kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Software"},
+    {"public.text",             kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument"},
+    {"public.plain-text",       kMDTypeMapMime,     "text/plain"},
+    {"public.rtf",              kMDTypeMapMime,     "text/rtf"},
+    {"public.html",             kMDTypeMapMime,     "text/html"},
+    {"public.xml",              kMDTypeMapMime,     "text/xml"},
+    {"public.source-code",      kMDTypeMapRDF,      "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SourceCode"},
+    {NULL,                      kMDTypeMapNotSup,   NULL}
 };