satafaka Δημοσ. 21 Μαΐου 2015 Δημοσ. 21 Μαΐου 2015 Καλησπέρα σε όλους. Νομίζω ο τίτλος τα λέει όλα. Χρειάζομαι πληροφορίες γιατί πρέπει να υλοποιήσω ένα μεγάλο σύστημα σε Semantic Web Services. Είχα ανοίξει ένα αντίστοιχο post στο Web Development thread αλλά δεν είχε ανταπόκριση οπότε κάνω και μία απέλπιδα προσπάθεια και εδώ... Παρακαλώ ας μείνει μήπως και πάρω κάποια βοήθεια. Αν υπάρχει κάποιος που έχει ασχοληθεί ή γνωρίζει κάποια πράγματα σχετικά με την εν λόγω αρχιτεκτονική ας μου δώσει κάποια πληροφορία. Σαν κύρια μου απορία είναι το.... από που να ξεκινήσω!! Τι πρέπει να χτίσω πρώτα, σε ποιο περιβάλλον, με τι εργαλεία κτλπ. Γνώσεις από XML, RDF, OWL, Ontologies υπάρχουν όπως και από Web Services. Το θέμα είναι πως θα πάω στην πράξη για να ξεκινήσω με Semantics. Ευχαριστώ εκ των προτέρων.
Luciddream Δημοσ. 22 Μαΐου 2015 Δημοσ. 22 Μαΐου 2015 τι ακριβώς θέλεις να φτιάξεις...? υπάρχουν διάφορες υλοποιήσεις.. είναι περισσότερο εκπαιδευτικό το θέμα? χρειάζεται να υποστηρίζει παλαιότερες τεχνολογίες? σε τι γλώσσα? αν και δεν μπορώ να πω ότι είμαι expert, ασχολούμαι αρκετά τελευταία
satafaka Δημοσ. 23 Μαΐου 2015 Μέλος Δημοσ. 23 Μαΐου 2015 Καλησπέρα φίλε μου και σε ευχαριστώ για την απάντησή σου.Το θέμα είναι εκπαιδευτικό ναι. Πρέπει να φτιάξω ένα σύστημα όπου κάποιοι χρήστες (καθηγητές) θα ανεβάζουν θέματα πτυχιακών εργασιών και οι φοιτητές έπειτα να μπορούν να βλέπουν και να δηλώσουν ποιες πτυχιακές εργασίες τους ενδιαφέρουν. Αυτό πρέπει να γίνει με χρήση semantic web services. Έχω πολλές απορίες, αλλά κυρίως έχω το πρόβλημα του από που ξεκινάω! Θα φτιάξω πρώτα HTML/CSS/PHP/MYSQL κτλπ και θα στέλνω data για να γίνεται το main functionality σε semantic web services? Ή από την αρχή ΟΛΗ η εφαρμογή θα αποτελείται μόνο από web services κομμάτια χωρίς χρήση παλιών τεχνολογιών? Γλώσσες που μπορούν να χρησιμοποιηθούν είναι WSML, RDF/OWL αλλά δεν είναι απολύτως απαραίτητο.
Luciddream Δημοσ. 23 Μαΐου 2015 Δημοσ. 23 Μαΐου 2015 (επεξεργασμένο) Λοιπόν αφού δεν υπάρχουν συγκεκριμένα requirements θα σου πω τι πιστεύω με αυτά που έχω δει μέχρι τώρα. Υπάρχουν πολλές λύσεις. Η πιο πρόσφατη και μελλοντικά χρήσιμη πιστεύω ότι είναι το JSON-LD. Υποστηρίζει πολλά vocabularies μέσω του schema.org που χρησιμοποιείται από Google, Microsoft, Yahoo, κ.α, αλλά δεν σε αναγκάζει κανείς να τα χρησιμοποιήσεις, μπορείς να παίξεις με τα κλασσικά vocabularies του RDF/XML. Μπορείς να παίξεις και να κάνεις δοκιμές εδώ αλλά και να μετατρέψεις δεδομένα από RDF/XML σε JSON-LD εδώ με την χρήση του RDFLib που αναφέρω παρακάτω Το μειονέκτημα φυσικά ότι θα βρεις λιγότερες χρήσιμες υλοποιήσεις. Έχει μερικές διαφορές και δεν είναι ακριβώς "συμβατό" με RDF, αλλά έχει τρόπους να γίνει, και υπάρχουν βιβλιοθήκες για να το κάνουν. Η κλασσική υλοποίηση που χρησιμοποιείται και περισσότερο είναι το RDF/XML. Αυτό όσον αφορά τον τρόπο με τον οποίο μπορούν να αποθηκευτούν/μεταφερθούν τα δεδομένα. Γενικότερα από όσα έχω δει και λόγω του συστήματος που τα δουλεύω εγώ, μπορείς να βρεις πολύ υλικό πάνω σε Java για Semantic Web, και από ότι έχει πάρει το μάτι μου και σε PHP. Ότι σε βολεύει. Υπάρχουν και εργαλεία για python Θα φτιάξω πρώτα HTML/CSS/PHP/MYSQL κτλπ και θα στέλνω data για να γίνεται το main functionality σε semantic web services? Το front end δεν σε απασχολεί, μπορεί να γίνει σε οτιδήποτε εσύ επιλέξεις, αλλά το πιο σημαντικό είναι τι γίνεται με την βάση. την MySQL αν θες Semantic την ξεχνάς μπορείς να την χρησιμοποιήσεις μόνο για το μέρος της σελίδας που δεν ασχολείται με το semantic web. Όσον αφορά το semantic κομμάτι, μπορείς να παίξεις με εργαλεία όπως Sesame ή Virtuoso και να αποθηκεύσεις/επαναφέρεις τα Triples με χρήση της γλώσσας SPARQL, εδώ και ένα ωραίο tutorial Αν θες απαραίτητα να το κάνεις σε PHP νομίζω το Drupal 8 έχει υποστήριξη για διάφορες τεχνολογίες semantic (π.χ JSON-LD) Επειδή τα έχω γράψει κάπως μπερδεμένα (είναι και η κούραση όλης της βδομάδας), για να σε ξεμπερδέψω λίγο, νομίζω ότι αν διαλέξεις τον δρόμο του JSON-LD θα μπλέξεις, με την κακή έννοια. Όσο και αν το προτιμώ και νομίζω ότι είναι το μέλλον, είναι τελείως διαφορετική η χρήση του και θα πρέπει να γράψεις πολλά πράγματα μόνος σου και να κάνεις πολλές δοκιμές. Βέβαια θα σου δώσει γνώσεις και υλικό που θα χρειαστεί μελλοντικά. Αυτό που θα έκανα στην θέση σου θα ήταν να προσπαθήσω να χρησιμοποιήσω μόνο το Sesame και να αποθηκεύσω τα δεδομένα σε μια μορφή την οποία την υποστηρίζει το Sesame.(last-edit: από ότι βλέπω υποστηρίζει και JSON-LD οπότε ακόμα καλύτερα) Και διάβασμα, αρκετό. Έχω διαβάσει αρκετές φορές τα Specs των RDF - RDF/XML - JSON-LD και αν και δεν τα θυμάμαι όλα, με έχουν βοηθήσει να πάρω μια ιδέα. Εδώ και ένα ωραίο άρθρο από τον δημιουργό του JSON-LD. Τέλος δεν κάνω άλλο edit Επεξ/σία 23 Μαΐου 2015 από Luciddream 1
satafaka Δημοσ. 23 Μαΐου 2015 Μέλος Δημοσ. 23 Μαΐου 2015 χααχχα ωραίος στο edit :D Για να τα βάλω σε μία τάξη τα πράγματα και εγώ στο μυαλό μου γιατί επικρατεί ένα χάος θα προσπαθήσω να σου αναλύσω το σκεπτικό μου με κάποιο παράδειγμα. Έστω ότι ξεκινάμε με html,css,php κτλπ που τα γνωρίζω. Φτιάχνω κλασικά για αρχή το view μέχρι ένα σημείο. Πχ το login ας πούμε θα το κάνω με αυτές τις παλιές καλές τεχνολογίες. Και έστω ότι θέλω να κάνω τώρα την διαδικασία που δηλώνει ένας καθηγητής μία πτυχιακή εργασία. Υποθέτω πως θα φτιάξω ένα php file όπου θα έχω τα input ωραία και καλά για να περάσει ο user τα στοιχεία. Στο submit θα πρέπει να φροντίσω κάπως να σταλθούν αυτά τα entries μέσω XML ή RDF ή OWL στο WSML ή WSDL file και να γίνει εκεί όλη η διαδικασία για ελέγχους, περιορισμούς οντολογιών, γράψιμο στην βάση μέσω SPARQL ας πούμε που ανέφερες κτλπ. Υποτίθεται ότι θα έχω ήδη δημιουργήσει τις οντολογίες μέσω Web protege ας πούμε και θα έχω δηλώσει URI στα ontologies που έφτιαξα για να κάνω τις "συνδέσεις" (class, subclassof κτλπ). Είναι σωστό αυτό το σκεπτικό ή το έχω πάρει τελείως λάθος? Στο μυαλό μου η αρχιτεκτονική πρέπει να είναι κάπως έτσι αλλά βρίσκομαι σε μία φούσκα που όλα επιπλέουν! Σε ευχαριστώ ήδη πάρα πολύ για τον χρόνο σου.
Luciddream Δημοσ. 23 Μαΐου 2015 Δημοσ. 23 Μαΐου 2015 Υποθέτω πως θα φτιάξω ένα php file όπου θα έχω τα input ωραία και καλά για να περάσει ο user τα στοιχεία. Στο submit θα πρέπει να φροντίσω κάπως να σταλθούν αυτά τα entries μέσω XML ή RDF ή OWL στο WSML ή WSDL file και να γίνει εκεί όλη η διαδικασία για ελέγχους, περιορισμούς οντολογιών, γράψιμο στην βάση μέσω SPARQL ας πούμε που ανέφερες κτλπ. Υποτίθεται ότι θα έχω ήδη δημιουργήσει τις οντολογίες μέσω Web protege ας πούμε και θα έχω δηλώσει URI στα ontologies που έφτιαξα για να κάνω τις "συνδέσεις" (class, subclassof κτλπ). Είναι σωστό αυτό το σκεπτικό ή το έχω πάρει τελείως λάθος? Στο μυαλό μου η αρχιτεκτονική πρέπει να είναι κάπως έτσι αλλά βρίσκομαι σε μία φούσκα που όλα επιπλέουν! Σε ευχαριστώ ήδη πάρα πολύ για τον χρόνο σου. ναι σωστά τα έχεις στο μυαλό σου το view μέχρι ένα σημείο δεν έχει να κάνει με semantic. Από εκεί και πέρα μόλις φτάσεις στο σημείο που θα κάνει sumbit την πτυχιακή, το όνομα, και όλα τα άλλα τα στοιχεία, θα πρέπει να έχεις δηλώσει τις οντολογίες κάπως ώστε να γίνεται η σύνδεση, αφού θα έχεις ήδη την γνώση των συνδέσεων των δεδομένων (π.χ ο τάδε άνθρωπος είναι μαθητής, η πτυχιακή έχει το τάδε θέμα - διαφορετικός τύπος). Και θα πρέπει να έχεις έναν php controller(σε περίπτωση που χρησιμοποιείς την PHP με MVC patterns), ή απλά ένα service που να αναλάβει την δουλειά του να μεταφέρει μέσω SPARQL στην βάση αυτά τα δεδομένα. Απλά δεν έχω ασχοληθεί καθόλου με PHP και semantic για να σε βοηθήσω περισσότερο. Και με τις οντολογίες ακόμα δεν τα έχω μάθει καλά γιατί περισσότερο μεταφέρω έτοιμα δεδομένα προς το παρόν. Αλλά μάλλον θα ασχολούμαι καιρό με αυτό το θέμα οπότε ελπίζω να τα μάθω καλύτερα 1
satafaka Δημοσ. 23 Μαΐου 2015 Μέλος Δημοσ. 23 Μαΐου 2015 Νομίζω θα ακολουθήσω αυτήν την τεχνική με όσο το δυνατόν περισσότερες παλιές τεχνολογίες που τις γνωρίζω κιόλας γιατί ο χρόνος πιέζει επικίνδυνα. Μακάρι να μπορούσα να ασχοληθώ με JSON-LD αλλά με τα περιθώρια που έχω μου είναι αδύνατον. Για αρχή θα πρέπει να γίνει το εννοιολογικό μοντέλο απ'ότι υποψιάζομαι με σωστή ανάλυση και συνδεσιμότητα. Έπειτα προχωράω με το functionality του web service για υπολογισμούς και πέρασμα στην βάση και στο τέλος την αποστολή των data και ο θεός μαζί μας.. Σε ευχαριστώ φίλε μου πραγματικά. Give this man a cookie 1
Luciddream Δημοσ. 23 Μαΐου 2015 Δημοσ. 23 Μαΐου 2015 Για αρχή θα πρέπει να γίνει το εννοιολογικό μοντέλο απ'ότι υποψιάζομαι με σωστή ανάλυση και συνδεσιμότητα. Έπειτα προχωράω με το functionality του web service για υπολογισμούς και πέρασμα στην βάση και στο τέλος την αποστολή των data και ο θεός μαζί μας.. Και εγώ αυτό πιστεύω. Θα πρέπει να δεις ποια στοιχεία ακριβώς θα χρειαστούν να αποθηκευτούν και με ποιον τρόπο συνδέονται μεταξύ τους, αυτό θα είναι το βασικό κομμάτι που θα πάρει κάπως περισσότερο χρόνο. Μετά να βρεις ένα framework που θα σου κάνει την δουλειά της συγκέντρωσης των δεδομένων σε αρχείο ή σε μια βάση, π.χ με ένα γρήγορο stackoverflow search βλέπω αυτό για PHP, και αυτό φαίνεται κάπως πιο απλό. Προσωπικά θα δοκίμαζα το πρώτο. Και μετά απλά να φτιάξεις τα php αρχεία για να ανακτούν τα δεδομένα και να τα στέλνουν στο view.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα