Διαλειτουργικότητα: Διασυνδεδεμένα Δεδομένα & OpenArchives API
Ο Συσσωρευτής Επιστημονικού Περιεχομένου OpenArchives.gr διαθέτει πλέον δύο νέους τρόπους δημοσίευσης δεδομένων: μέσω Web API (Διεπαφή Προγραμματισμού Εφαρμογών Ιστού), το οποίο επιτρέπει σε τρίτες εφαρμογές να αναζητήσουν και να προβάλουν τεκμήρια που φιλοξενούνται στον Συσσωρευτή και ως Linked Data (Διασυνδεδεμένα Δεδομένα), επιτρέποντας τη δημοσίευση συνόλων δεδομένων με σημασιολογικές συνδέσεις έτσι ώστε να είναι αντιληπτά από υπολογιστές.
Το OpenArchives.gr διαθέτει τα μεταδεδομένα των τεκμηρίων που συγκεντρώνει στο πρότυπο Europeana Data Model (EDM). Το EDM είναι ένα RDF μοντέλο που προτείνεται από την Europeana για την αναπαράσταση μεταδεδομένων ψηφιακού περιεχομένου.
Τα μεταδεδομένα των τεκμηρίων του OpenArchives.gr διατηρούν σημασιολογικούς συνδέσμους σε άλλα δεδομένα - λεξιλόγια και θησαυρούς όρων - που διατίθενται επίσης ως Διασυδεδεμένα Δεδομένα χρησιμοποιώντας RDF συνδέσμους σε συγκεκριμένα γνωρίσματα του EDM μοντέλου. Το ΕΚΤ εμπλούτισε τα τεκμήρια με συνδέσμους στο Λεξιλόγιο Τύπων που ανέπτυξε, το οποίο με την σειρά του παραπέμπει στο Θησαυρό για τις Τέχνες και την Αρχιτεκτονική (Art & Architecture Thesaurus) - AAT του Ιδρύματος Getty και στον σημασιολογικό θησαυρό DBpedia της Wikipedia.
Τα τεκμήρια έχουν μοναδικά, μόνιμα HTTP URIs ώστε να μπορούν να αναφερθούν σε αυτά χρήστες και εφαρμογές. Παράδειγμα URI τεκμηρίου είναι το εξής:
https://www.openarchives.gr/aggregator-openarchives/edm/eureka/000008-10184_8264.
Τα URIs κάθε τεκμηρίου επιστρέφουν τα περιγραφικά μεταδεδομένα του σε 3 διαφορετικές μορφές:
Όταν ο χρήστης χρησιμοποιήσει το URI από έναν κοινό φυλλομετρητή (browser), θα δει την HTML σελίδα τεκμηρίου. Η ίδια HTML σελίδα θα επιστραφεί και σε έναν HTTP/REST Client εάν η αίτηση πραγματοποιηθεί με τιμή "text/html" στην παράμετρο κεφαλίδας "Accept".
Αν ένας HTTP/REST Client υποβάλλει το URI με τιμή "application/rdf+xml" ή "application/xml" στην παράμετρο κεφαλίδας "Accept", θα λάβει την RDF περιγραφή του πόρου - σύμφωνα με το EDM μοντέλο - σε RDF/XML σειριοποίηση. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η κατάληξη "/xml" στο URI του τεκμηρίου χωρίς να χρειάζεται να οριστεί η παράμετρος "Accept".
Τέλος, με τιμή "application/ld+json" ή "application/json" στην παράμετρο κεφαλίδας "Accept", η RDF (σε EDM μοντελοποίηση) περιγραφή του πόρου θα είναι σε JSON (και συγκεκριμένα ως JSON-LD) σειριοποίηση. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η κατάληξη "/json" στο URI του τεκμηρίου χωρίς να χρειάζεται να οριστεί η παράμετρος "Accept".
To OpenArchives.gr διαθέτει μία Διεπαφή Προγραμματισμού Εφαρμογών Ιστού (Web API) που επιτρέπει σε τρίτες εφαρμογές να αναζητήσουν και να προβάλουν τεκμηρια που φιλοξενούνται στον Συσσωρευτή. Το API προσφέρει όλες τις δυνατότητες αναζήτησης που παρέχονται από την διαδικτυακή πύλη.
Για να χρησιμοποιήσετε το API θα πρέπει να αιτηθείτε ένα προσωπικό API Κλειδί μέσω της ηλεκτρονικής φόρμας
Το βασικό URL του API είναι το εξής:
https://www.openarchives.gr/aggregator-openarchives/api/search.json
Μπορείτε να δοκιμάσετε το OpenArchives 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_chronology | String | Χρονολογία δημιουργίας τεκμηρίου ως έτος (π.χ. 1990) ή διάστημα ετών (π.χ. 1990/2000). Η αναζήτηση βασίζεται στο πεδίο μεταδεδομένων "EKT Χρονολόγηση" το οποίο πρόσθεσε το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμού που εφαρμόζει στο περιεχόμενο που συσσωρεύει. | Όχι | |
ektFieldsUseURIs | Boolean | Όταν η παράμετρος έχει τιμή "false" (προεπιλεγμένη), οι αποδεκτές τιμές για την παράμετρο ekt_type είναι οι προτεινόμενοι όροι (στα Ελληνικά ή στα Αγγλικά, ανάλογοα με την τιμή της παραμέτρου preferredLanguage). Όταν η παράμετρος έχει τιμή "true", οι αποδεκτές τιμές για την παράμετρο ekt_type είναι τα 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. | Όχι | |
preferredLanguage | String | Η προτεινόμενη γλώσσα με αποδεκτές τιμές "el" (Ελληνικά) ή "en" (Αγγλικά). Η παράμετρος ορίζει σε ποια γλώσσα θα πρέπει να είναι οι τιμές των παραμέτρων ekt_type, institution και collection. Επιπλέον ορίζει την γλώσσα των τιμών των αντίστοιχων πεδίων στα αποτελέσματα της αναζήτησης Προκαθορισμενη τιμή: el |
Όχι | |
page | Number | Τα αποτελέσματα επιστρέφονται σελιδοποιημένα με την κάθε σελίδα να αποτελείται από εώς και 50 εγγραφές. Η παράμετρος αυτή επιστρέφει την αντίστοιχη σελίδα. Προκαθορισμενη τιμή: 1 |
Όχι |
Το αποτέλεσμα μιας αναζήτησης είναι ένα JSON αντικείμενο SearchAPIBriefItem που περιλαμβάνει μια σειρά από διαχειριστικά πεδία καθώς και μία λίστα από αντικείμενα SearchAPIBriefItem που αντιστοιχούν στα τεκμήρια. Τα αποτελέσματα επιστρέφονται σελιδοποιημένα ανά 50 τεκμήρια. Το κάθε αντικείμενο SearchAPIBriefItem περιλαμβάνει μερικά μόνο από τα πεδία μεταδεδομένων καθώς και το URL της εικόνας προεπισκόπησης. Περιλαμβάνει όμως και το HTTP URI (πεδίο uri) του τεκμηρίου το οποίο μπορεί να χρησιμοποιηθεί για την ανάκτηση της πλήρους πέριγραφής του (ως EDM σε XML/RDF σειριοποίηση, ώς EDM σε JSON-LD σειριοποίηση ή ως HTML)
Πεδίο | Τύπος | Περιγραφή |
---|---|---|
apiKey | String | Το API κλειδί που χρησιμοποιήθηκε στην αναζήτηση |
totalResults | Number | Ο συνολικός αριθμός αποτελεσμάτων |
page | Number | Ο αριθμός σελίδας |
pageSize | Number | Ο αριθμός αποτελεσμάτων ανά σελίδα |
results | Array(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_chronology | Number | Η ΕΚΤ χρονολόγηση. Προστέθηκε από το ΕΚΤ στο πλαίσιο του σημασιολογικού εμπλουτισμούπου εφαρμόζει στο περιεχόμενο που συσσωρεύει. |
dc_creator | Array(String) | Ο δημιουργός του τεκμηρίου. Αντιστοιχεί στο dc:creator γνώρισμα του EDM. |
dc_contributor | Array(String) | Ο συντελεστής του τεκμηρίου. Αντιστοιχεί στο dc:contributor γνώρισμα του EDM. |
journalName | String | Ο τίτλος του περιοδικού (αν πρόκειται για άρθρο ή τεύχος περιοδικού) |
conferenceName | String | Ο τίτλος του συνεδρίου (αν πρόκειται για άρθρο ή πρακτικά συνεδρίου) |
aggregator | String | Ο Συσσωρευτής Περιεχομένου που παρέχει το τεκμήριο, δηλαδή το OpenArchives.gr. |
institution | String | Ο Φορέας που διαθέτει το τεκμήριο. |
collection | String | Η συλλογή προέλευσης του τεκμηρίου. |
edm_isShownAt | String | Το URL της σελίδας παρουσίασης του τεκμηρίου στο αποθετήριο του φορέα. |
Για να αποκτήσετε API Κλειδί απλώς υποβάλετε αίτηση μέσω της παρακάτω ηλεκτρονικής φόρμας. Μόλις η ομάδα ανάπτυξης του OpenArchives.gr εγκρίνει την αίτησή σας θα λάβετε το API Κλειδί μέσω email.
Με την πρόσβασή του στην υπηρεσία OpenArchives API, ο χρήστης αποδέχεται, συμφωνεί και δεσμεύεται από τους παρακάτω όρους χρήσης. Ο Χρήστης της υπηρεσίας OpenArchives.gr API, οφείλει να διαβάσει προσεκτικά και να αποδεχτεί τους όρους χρήσης.