Διαλειτουργικότητα: Διασυνδεδεμένα Δεδομένα & 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".

    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  



OpenArchives API

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)

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_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 κλειδί

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









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

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


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