Διαλειτουργικότητα: Διασυνδεδεμένα Δεδομένα & SearchCulture API

Ο Εθνικός Συσσωρευτής Ψηφιακού Πολιτιστικού Περιεχομένου SearchCulture.gr διαθέτει πλέον δύο νέους τρόπους δημοσίευσης δεδομένων: μέσω Web API (Διεπαφή Προγραμματισμού Εφαρμογών Ιστού), το οποίο επιτρέπει σε τρίτες εφαρμογές να αναζητήσουν και να προβάλουν τεκμήρια που φιλοξενούνται στον Συσσωρευτή και ως Linked Data (Διασυνδεδεμένα Δεδομένα), επιτρέποντας τη δημοσίευση συνόλων δεδομένων με σημασιολογικές συνδέσεις έτσι ώστε να είναι αντιληπτά από υπολογιστές.

Διασυνδεδεμένα Δεδομένα

Το SearchCulture.gr διαθέτει τα μεταδεδομένα των τεκμηρίων που συγκεντρώνει στο πρότυπο Europeana Data Model (EDM). Το EDM είναι ένα RDF μοντέλο που προτείνεται από την Europeana για την αναπαράσταση μεταδεδομένων πολιτιστικού περιεχομένου.

Τα μεταδεδομένα των τεκμηρίων του SearchCulture.gr διατηρούν σημασιολογικούς συνδέσμους σε άλλα δεδομένα - λεξιλόγια και θησαυρούς όρων - που διατίθενται επίσης ως Διασυδεδεμένα Δεδομένα χρησιμοποιώντας RDF συνδέσμους σε συγκεκριμένα γνωρίσματα του EDM μοντέλου. Κάποιοι σύνδεσμοι ορίστηκαν από τους ίδιους τους φορείς και περιλαμβάνονται στα πρωτότυπα μεταδεδομένα, ενώ κάποιοι άλλοι προστέθηκαν από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Έτσι, τα περισσότερα τεκμήρια διατηρούν εγγενώς συνδέσμους στην βάση γεωγραφικών δεδομένων GeoNames. Το ΕΚΤ εμπλούτισε τα τεκμήρια με συνδέσμους στο Λεξιλόγιο Τύπων που ανέπτυξε, το οποίο με την σειρά του παραπέμπει στο Θησαυρό για τις Τέχνες και την Αρχιτεκτονική (Art & Architecture Thesaurus) - AAT του Ιδρύματος Getty και στον σημασιολογικό θησαυρό DBpedia της Wikipedia. Επιπλέον, το ΕΚΤ εμπλούτισε τα μεταδαδεδομένα με συνδέσμους στο Λεξιλόγιο Ελληνικών Ιστορικών Περιόδων που ανέπτυξε, το οποίο είναι διασυνδεδεμένο με τον θησαυρό DBpedia.

Τα τεκμήρια έχουν μοναδικά, μόνιμα HTTP URIs ώστε να μπορούν να αναφερθούν σε αυτά χρήστες και εφαρμογές. Παράδειγμα URI τεκμηρίου είναι το εξής:
https://www.searchculture.gr/aggregator/edm/parthenonfrieze/000077-10442_nxli.

Τα URIs κάθε τεκμηρίου επιστρέφουν τα περιγραφικά μεταδεδομένα του σε 3 διαφορετικές μορφές:

  • Όταν ο χρήστης χρησιμοποιήσει το URI από έναν κοινό φυλλομετρητή (browser), θα δει την HTML σελίδα τεκμηρίου. Η ίδια HTML σελίδα θα επιστραφεί και σε έναν HTTP/REST Client εάν η αίτηση πραγματοποιηθεί με τιμή "text/html" στην παράμετρο κεφαλίδας "Accept".

    HTML  

  • Αν ένας HTTP/REST Client υποβάλλει το URI με τιμή "application/rdf+xml" ή "application/xml" στην παράμετρο κεφαλίδας "Accept", θα λάβει την RDF περιγραφή του πόρου - σύμφωνα με το EDM μοντέλο - σε RDF/XML σειριοποίηση. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η κατάληξη "/xml" στο URI του τεκμηρίου χωρίς να χρειάζεται να οριστεί η παράμετρος "Accept".

    RDF/XML  

  • Τέλος, με τιμή "application/ld+json" ή "application/json" στην παράμετρο κεφαλίδας "Accept", η RDF (σε EDM μοντελοποίηση) περιγραφή του πόρου θα είναι σε JSON (και συγκεκριμένα ως JSON-LD) σειριοποίηση. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η κατάληξη "/json" στο URI του τεκμηρίου χωρίς να χρειάζεται να οριστεί η παράμετρος "Accept".

    JSON-LD  



SearchCulture API

To SearchCulture.gr διαθέτει μία Διεπαφή Προγραμματισμού Εφαρμογών Ιστού (Web API) που επιτρέπει σε τρίτες εφαρμογές να αναζητήσουν και να προβάλουν τεκμηρια που φιλοξενούνται στον Συσσωρευτή. Το API προσφέρει όλες τις δυνατότητες αναζήτησης που παρέχονται από την διαδικτυακή πύλη.

Για να χρησιμοποιήσετε το API θα πρέπει να αιτηθείτε ένα προσωπικό API Κλειδί μέσω της ηλεκτρονικής φόρμας

Το βασικό URL του API είναι το εξής:

https://www.searchculture.gr/aggregator/api/search.json

Μπορείτε να δοκιμάσετε το SearchCulture API αλλά και την προσπέλαση HTTP URIs αναγνωριστικών των τεκμηρίων μέσω της γραφικής διεπαφής Swagger.

Παράμετροι

Παράμετροι
Όνομα Τύπος Περιγραφή Υποχρεωτικό
apiKey String Το API κλειδί που επιτρέπει την χρήση του API. Για την απόκτησή του απαιτείται μία υποβολή αίτησης μέσω ηλεκτρονικής φόρμας. Ναι
general_term String Γενικός όρος αναζήτησης ο οποίος θα αναζητηθεί σε όλα τα πεδία μεταδεδομένων. Η αναζήτηση γίνεται με λειτουργία “fuzzy search” που δίνει αποτελέσματα με βάση ημιτελείς λέξεις κλειδιά ή φράσεις. Όχι
ekt_type Array(String) Όρος από το Λεξιλόγιο Τύπων που ανέπτυξε το ΕΚΤ. Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Τύπος" το οποίο πρόσθεσε το ΕΚΤ στα μεταδεδομένα στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Στην προκαθορισμένη λειτουργία, θα πρέπει να χρησιμοποιούνται οι προτεινόμενες ονομασίες του κάθε όρου στα Ελληνικά ή στα Αγγλικά, εφόσον η παράμετρος preferredLanguage έχει τιμή "en". Εναλλακτικά, μπορούν να χρησιμοποιηθούν τα URIs των όρων, εφόσον η παράμετρος ektFieldsUseURIs έχει τιμή "false". Η παράμετρος ekt_type είναι πολλαπλή, που σημαίνει ότι μπορεί να δοθούν περισσότεροι από ένας τύποι (π.χ. ..&ekt_type=Αγγείο&ekt_type=Ανάγλυφο). Σε αυτή την περίπτωση χρησιμοποιειται λογική σύζευξη (OR), δηλαδή θα επιστραφούν τεκμήρια που έχουν τουλάχιστον έναν από τους δοσμένους τύπους. Όχι
ekt_subject Array(String) Όρος από το Εννοποιημένο Θησαυρό Όρων που περιλαμβάνει τον Θησαυρό UNESCO (έκδοση ΕΚΤ) και επιλεγμένες θεματικές ετικέτες που ανέπτυξε το ΕΚΤ. Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Θέμα" το οποίο πρόσθεσε το ΕΚΤ στα μεταδεδομένα στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Στην προκαθορισμένη λειτουργία, θα πρέπει να χρησιμοποιούνται οι προτεινόμενες ονομασίες του κάθε όρου στα Ελληνικά ή στα Αγγλικά, εφόσον η παράμετρος preferredLanguage έχει τιμή "en". Εναλλακτικά, μπορούν να χρησιμοποιηθούν τα URIs των όρων, εφόσον η παράμετρος ektFieldsUseURIs έχει τιμή "false". Η παράμετρος ekt_subject είναι πολλαπλή, που σημαίνει ότι μπορεί να δοθούν περισσότερα από ένα θέματα (π.χ. ..&ekt_subject=Πολιτική&ekt_type=Αρχιτεκτονική). Σε αυτή την περίπτωση χρησιμοποιειται λογική σύζευξη (OR), δηλαδή θα επιστραφούν τεκμήρια που έχουν τουλάχιστον ένα από τα δοσμένα θέματα. Όχι
ekt_historical_period String Όρος από το Λεξιλόγιο Ελληνικών Ιστορικών Περιόδων που ανέπτυξε το ΕΚΤ. Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Ιστορική Περίοδος" το οποίο πρόσθεσε το ΕΚΤ στα μεταδεδομένα στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Στην προκαθορισμένη λειτουργία, θα πρέπει να χρησιμοποιούνται οι προτεινόμενες ονομασίες του κάθε όρου στα Ελληνικά ή στα Αγγλικά, εφόσον η παράμετρος preferredLanguage έχει τιμή "en". Εναλλακτικά, μπορούν να χρησιμοποιηθούν τα URIs των όρων, εφόσον η παράμετρος ektFieldsUseURIs έχει τιμή "false". Σημειώνεται ότι η παράμετρος ekt_historical_period δεν είναι πολλαπλή Όχι
ekt_person String Όρος από τον Κατάλογο Σημαντικών Μορφών στην Ελληνική Ιστορία και Τέχνη που ανέπτυξε το ΕΚΤ. Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Πρόσωπο" το οποίο πρόσθεσε το ΕΚΤ στα μεταδεδομένα στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Στην προκαθορισμένη λειτουργία, θα πρέπει να χρησιμοποιούνται οι προτεινόμενες ονομασίες του κάθε όρου στα Ελληνικά ή στα Αγγλικά, εφόσον η παράμετρος preferredLanguage έχει τιμή "en". Εναλλακτικά, μπορούν να χρησιμοποιηθούν τα URIs των όρων, εφόσον η παράμετρος ektFieldsUseURIs έχει τιμή "false". Η παράμετρος ekt_person είναι πολλαπλή, που σημαίνει ότι μπορεί να δοθούν περισσότερα από ένα πρόσωπα (π.χ. ..&ekt_person=Βενιζέλος Ελευθέριος&ekt_person=Κωλέττης Ιωάννης). Σε αυτή την περίπτωση χρησιμοποιειται λογική σύζευξη (OR), δηλαδή θα επιστραφούν τεκμήρια που σχετίζονται με τουλάχιστον ένα από τα δοσμένα πρόσωπα. Όχι
ekt_chronology String Χρονολογία δημιουργίας τεκμηρίου ως έτος (π.χ. 1790) ή διάστημα ετών (π.χ. -600/-400). Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Χρονολόγηση" το οποίο πρόσθεσε το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. Όχι
ektStrictPeriodsMode Boolean

Όταν η παράμετρος έχει τιμή "false" (προεπιλεγμένη), η αναζήτηση με χρονικά κριτήρια (ekt_chronology ή ekt_historical_period) είναι ευρύτερη εντοπίζοντας τεκμήρια με χρονολογικό διάστημα (ή ιστορική περίοδο) που απλώς επικαλύπτεται με οποιονδήποτε τρόπο με το χρονολογικό διάστημα (ή την ιστορική περίοδο) της αναζήτησης. Για παράδειγμα στην αναζήτηση με χρονολογικό διάστημα “1500 - 1600 μ.Χ.”, ένα τεκμήριο με χρονολόγηση “1550 - 1750 μ.Χ. θα εμφανιστεί στη λίστα αποτελεσμάτων.

Όταν η παράμετρος έχει τιμή "true", η αναζήτηση με χρονικά κριτήρια είναι αυστηρή επιστρέφοντας μόνο τεκμήρια με χρονολογικό διάστημα (ή ιστορική περίοδο) που είτε ταυτίζεται ή περιλαμβάνεται πλήρως στο χρονολογικό διάστημα (ή την ιστορική περίοδο) της αναζήτησης. Χρησιμοποιείστε αυτήν την επιλογή αν θέλετε να βρείτε μόνο τεκμήρια που χρονολογούνται αυστηρά εντός συγκεκριμένων διαστημάτων ή περιόδων. Για παράδειγμα στην αναζήτηση με χρονολογικό διάστημα “1500 - 1600 μ.Χ.”, το τεκμήριο με χρονολόγηση “1550 - 1750 μ.Χ.” δεν θα εμφανιστεί στα αποτελέσματα ενώ ένα τεκμήριο με χρονολόγηση “1550 - 1570 μ.Χ.” θα εμφανιστεί.

Προκαθορισμενη τιμή: false

Όχι
ektStrictPeriodsMode String

Όρίζει αν τα πρόσωπα που ορίζονται στο ekt_person είναι δημιουργός ή αναφερόμενο πρόσωπο στα τεκμήρια που αναζητούνται. Οι επιτρεπόμενες τιμές είναι οι εξής:

AS_CREATOR: Δημιουργός

AS_REFERENCES: Αναφερόμενο πρόσωπο

AS_REFERENCES_OR_CREATORS: Δημιουργός ή Αναφερόμενο πρόσωπο

Όχι
ektFieldsUseURIs Boolean

Όταν η παράμετρος έχει τιμή "false" (προεπιλεγμένη), οι αποδεκτές τιμές για τις παραμέτρους ekt_type και ekt_historical_period είναι οι προτεινόμενοι όροι (στα Ελληνικά ή στα Αγγλικά, ανάλογοα με την τιμή της παραμέτρου preferredLanguage).

Όταν η παράμετρος έχει τιμή "true", οι αποδεκτές τιμές για τις παραμέτρους ekt_type και ekt_historical_period είναι τα URIs των όρων.

Προκαθορισμενη τιμή: false

Όχι
dc_type String Αναζήτηση στον πρωτότυπο τύπο τεκμηρίου (dc:type) που χρησιμοποίησε ο φορέας στα μεταδεδομένα. Η αναζήτηση γίνεται με λειτουργία “fuzzy search” που δίνει αποτελέσματα με βάση ημιτελείς λέξεις κλειδιά ή φράσεις. Όχι
dc_subject String Αναζήτηση στο θέμα (dc:subject) που χρησιμοποίησε ο φορέας στα μεταδεδομένα. Η αναζήτηση γίνεται με λειτουργία “fuzzy search” που δίνει αποτελέσματα με βάση ημιτελείς λέξεις κλειδιά ή φράσεις. Όχι
dc_creator_or_dc_contributor String Αναζήτηση στον δημιουργό (dc:creator) ή στον συντελεστή (dc:contributor) που χρησιμοποίησε ο φορέας στα μεταδεδομένα.Η αναζήτηση γίνεται με λειτουργία “fuzzy search” που δίνει αποτελέσματα με βάση ημιτελείς λέξεις κλειδιά ή φράσεις. Όχι
dcterms_spatial String Αναζήτηση στην γεωγραφική κάλυψη (dcterms:spatial) που χρησιμοποίησε ο φορέας στα μεταδεδομένα. Η αναζήτηση γίνεται με λειτουργία “fuzzy search” που δίνει αποτελέσματα με βάση ημιτελείς λέξεις κλειδιά ή φράσεις. Όχι
institution String Αναζήτηση τεκμηρίων συγκεκριμένου φορέα. Αποδεκτές τιμές στην παράμετρο αυτή είναι οι επίσημες ονομασίες των φορέων στα Ελληνικά ή στα Αγγλικά, όπως εμφανίζονται εδώ και εδώ, αντίστοιχα, ανάλογα με την τιμή της παραμέτρου preferredLanguage. Όχι
collection String Αναζήτηση τεκμηρίων συγκεκριμένης συλλογής. Αποδεκτές τιμές στην παράμετρο αυτή είναι οι επίσημες ονομασίες των συλλογών στα Ελληνικά ή στα Αγγλικά, όπως εμφανίζονται εδώ και εδώ, αντίστοιχα, ανάλογα με την τιμή της παραμέτρου preferredLanguage. Όχι
rightsCategoryForDigitalFiles String Αναζήτηση βάσει κατηγορίας άδειας χρήσης ψηφιακού αρχείου. Αποδεκτές τιμές είναι οι εξής: RIGHTS_RESERVED (Rights Reserved),INC (In Copyright), INC_EDU (In Copyright - Educational use permitted), NOC_OKLR (No Copright - Other legal restrictions), INC_NC (In Copyright - Non-commercial use only), CC_PD (Public Domain Mark), CC0, CC_BY, CC_BY_SA, CC_BY_ND, CC_BY_NC, CC_BY_NC_SA, CC_BY_NC_ND Όχι
preferredLanguage String Η προτεινόμενη γλώσσα με αποδεκτές τιμές "el" (Ελληνικά) ή "en" (Αγγλικά). Η παράμετρος ορίζει σε ποια γλώσσα θα πρέπει να είναι οι τιμές των παραμέτρων ekt_type, ekt_historical_period, institution και collection. Επιπλέον ορίζει την γλώσσα των τιμών των αντίστοιχων πεδίων στα αποτελέσματα της αναζήτησης

Προκαθορισμενη τιμή: el

Όχι
page Number Τα αποτελέσματα επιστρέφονται σελιδοποιημένα με την κάθε σελίδα να αποτελείται από εώς και 50 εγγραφές. Η παράμετρος αυτή επιστρέφει την αντίστοιχη σελίδα.

Προκαθορισμενη τιμή: 1

Όχι

Αποτέλεσμα

Το αποτέλεσμα μιας αναζήτησης είναι ένα JSON αντικείμενο SearchAPIBriefItem που περιλαμβάνει μια σειρά από διαχειριστικά πεδία καθώς και μία λίστα από αντικείμενα SearchAPIBriefItem που αντιστοιχούν στα τεκμήρια. Τα αποτελέσματα επιστρέφονται σελιδοποιημένα ανά 50 τεκμήρια. Το κάθε αντικείμενο SearchAPIBriefItem περιλαμβάνει μερικά μόνο από τα πεδία μεταδεδομένων καθώς και το URL της εικόνας προεπισκόπησης. Περιλαμβάνει όμως και το HTTP URI (πεδίο uri) του τεκμηρίου το οποίο μπορεί να χρησιμοποιηθεί για την ανάκτηση της πλήρους πέριγραφής του (ως EDM σε XML/RDF σειριοποίηση, ώς EDM σε JSON-LD σειριοποίηση ή ως HTML)

SearchAPIResults
Πεδίο Τύπος Περιγραφή
apiKey String Το API κλειδί που χρησιμοποιήθηκε στην αναζήτηση
totalResults Number Ο συνολικός αριθμός αποτελεσμάτων
page Number Ο αριθμός σελίδας
pageSize Number Ο αριθμός αποτελεσμάτων ανά σελίδα
results Array(SearchAPIBriefItem) Η λίστα από αντικείμενα SearchAPIBriefItem που αντιστοιχούν στα τεκμήρια
SearchAPIBriefItem
Πεδίο Τύπος Περιγραφή
uri String Το HTTP URI του τεκμηρίου. Μπορεί να χρησιμοποιηθεί για την ανάκτηση της πλήρους περιγραφής του τεκμηρίου ως EDM σε XML/RDF σειριοποίηση, ώς EDM σε JSON-LD σειριοποίηση ή ως HTML.
dc_title Array(String) Ο τίτλός του τεκμηρίου. Αντιστοιχεί στο dc:type γνώρισμα του EDM.
ekt_type Array(String) Ο ΕΚΤ τύπος από το Λεξιλόγιο Τύπων του ΕΚΤ. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει.
ekt_type Array(String) Το ΕΚΤ θέμα από το Λεξιλόγιο Θεμάτων του ΕΚΤ. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει.
ekt_person_creator Array(String) Το ΕΚΤ πρόσωπο / Δημιουργός από τον Κατάλογο Σημαντικών Μορφών στην Ελληνική Ιστορία και Τέχνη του ΕΚΤ. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει.
ekt_person_references Array(String) Το ΕΚΤ πρόσωπο / Αναφορά από τον Κατάλογο Σημαντικών Μορφών στην Ελληνική Ιστορία και Τέχνη του ΕΚΤ. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει.
ekt_chronology Number Η ΕΚΤ χρονολόγηση. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμούπου εφαρμόζει στο περιεχόμενο που συσσωρεύει.
ekt_historical_period Array(String) Η ΕΚΤ Ιστορική Περίοδος από το Λεξιλόγιο Ελληνικών Ιστορικών Περιόδων του ΕΚΤ. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει.
dc_creator Array(String) Ο δημιουργός του τεκμηρίου. Αντιστοιχεί στο dc:creator γνώρισμα του EDM.
dc_contributor Array(String) Ο συντελεστής του τεκμηρίου. Αντιστοιχεί στο dc:contributor γνώρισμα του EDM.
edm_rights String Η άδεια χρήσης του ψηφιακού αρχείου. Αντιστοιχεί στο edm:rights γνώρισμα της κλάσης ore:Aggregation του EDM.
thumbnail String Το URL της εικόνας προεπισκόπησης
aggregator String Ο Συσσωρευτής Περιεχομένου που παρέχει το τεκμήριο, δηλαδή το SearchCulture.gr.
institution String Ο Φορέας που διαθέτει το τεκμήριο.
collection String Η συλλογή προέλευσης του τεκμηρίου.
edm_type String Ο Europeana Τύπος. Αντιστοιχεί στο edm:type γνώρισμα του EDM.
edm_isShownAt String Το URL της σελίδας παρουσίασης του τεκμηρίου στο αποθετήριο του φορέα.

Ζητήστε ένα API κλειδί

Για να αποκτήσετε API Κλειδί απλώς υποβάλετε αίτηση μέσω της παρακάτω ηλεκτρονικής φόρμας. Μόλις η ομάδα ανάπτυξης του SearchCulture.gr εγκρίνει την αίτησή σας θα λάβετε το API Κλειδί μέσω email.









Όροι χρήσης του SearchCulture API

Με την πρόσβασή του στην υπηρεσία SearchCulture API, ο χρήστης αποδέχεται, συμφωνεί και δεσμεύεται από τους παρακάτω όρους χρήσης. Ο Χρήστης της υπηρεσίας SearchCulture.gr API, οφείλει να διαβάσει προσεκτικά και να αποδεχτεί τους όρους χρήσης.


Όροι χρήσης του SearchCulture API