**Semantic Web - Faculty of Computer Science Universitas Indonesia**
**2020/2021 - Term 1**
# Proyek Kelompok
Deskripsi
--
Pada tugas ini, Anda diminta untuk mengembangkan penggunaan teknologi jejaring semantik melalui sebuah aplikasi yang memenuhi syarat-syarat di bawah ini:
1. Aplikasi yang dibangun adalah berbasis Web, sehingga harus dapat diakses melalui penelusur Web biasa seperti Firefox, Chrome, dll.
2. Aplikasi harus membaca data:
- secara **remote** dari Wikidata atau DBPedia
- secara **lokal** dari sebuah triple store yang Anda siapkan dari dataset yang diberikan; akses lokal ini boleh tetap menggunakan protokol http.
Berikut beberapa software library yang dapat Anda pilih untuk bekerja dengan data RDF (silakan Google detilnya):
> Java: Apache Jena // [tutorial](https://www.youtube.com/watch?v=u4rPZynTWFo&list=PLr_TipxhoDryHmYOZWH9LrZmB2G0DJ2IU)
> Python: RDFlib // [tutorial](https://www.youtube.com/watch?v=3CyDeC2sCq8), [documentation](https://github.com/RDFLib/rdflib)
> C/C++: Redland
Untuk triple store, silakan pilih salah satu dari beberapa contoh triple store seperti Apache Jena TDB, Apache Fuseki, Blazegraph, Virtuoso, Franz AllegoGraph. ( **N.b.** Ubah terlebih dahulu file excel menjadi RDF sebelum disimpan ke triple store. Query dari user pada search bar tidak dalam bentuk SPARQL. )
Aplikasi harus menampilkan data secara terintegrasi dari dua sumber data (**lokal dan remote**) sesuai pembagian akses di poin 2. Data yang ditampilkan harus sesuai dataset yang dipilih.
Berikut dataset yang dapat dipilih:
> 1. [Netflix Movies and TV Shows](https://www.kaggle.com/shivamb/netflix-shows?select=netflix_titles.csv)
> 2. [Airline Dataset](https://www.kaggle.com/open-flights/airline-database)
> 3. [Google Play Store Apps](https://www.kaggle.com/lava18/google-play-store-apps?select=googleplaystore.csv)
> 4. [Airports, Train Stations, and Ferry Terminals](https://www.kaggle.com/open-flights/airports-train-stations-and-ferry-terminals?select=airports-extended.csv)
> 5. [Spotify's Worldwide Daily Song Ranking](https://www.kaggle.com/edumucelli/spotifys-worldwide-daily-song-ranking)
> 6. [NASA Astronauts](https://www.kaggle.com/nasa/astronaut-yearbook)
> 7. [World University Rankings](https://www.kaggle.com/mylesoneill/world-university-rankings)
> 8. [Rotten Tomatoes Movie Database](https://www.kaggle.com/ayushkalla1/rotten-tomatoes-movie-database)
> 9. [NBA Players](https://www.kaggle.com/justinas/nba-players-data)
> 10. [Video Games](https://www.kaggle.com/sidtwr/videogames-sales-dataset)
> 11. [Anime Recommendation](https://www.kaggle.com/CooperUnion/anime-recommendations-database)
> 12. [Goodreads Book](https://www.kaggle.com/jealousleopard/goodreadsbooks)
> 13. [FIFA19 Player](https://www.kaggle.com/karangadiya/fifa19)
> 14. [Hospital rating](https://www.kaggle.com/center-for-medicare-and-medicaid/hospital-ratings)
> 15. [Global company](https://www.kaggle.com/peopledatalabssf/free-7-million-company-dataset)
> 16. [Countries of the world](https://www.kaggle.com/fernandol/countries-of-the-world)
> 17. [Hotel Reviews](https://www.kaggle.com/datafiniti/hotel-reviews)
> 18. [TripAdvisor Restaurants Info for 31 Euro-Cities](https://www.kaggle.com/damienbeneschi/krakow-ta-restaurans-data-raw)
> 19. [Baseball Databank](https://www.kaggle.com/open-source-sports/baseball-databank)
> 20. [Tourism attraction](https://www.kaggle.com/vitaliymalcev/russian-touris-attractions)
4. Aplikasi harus memungkinkan pengguna berinteraksi dengan data yang ditampilkan. Interaksi yang diharapkan berupa penelusuran query sesuai dataset yang telah dipilih dan hasil yang ditampilkan berupa daftar hasil pencarian yang mengandung kata sesuai dengan query tersebut (fitur ini dapat menggunakan SPARQL dengan Regex). Kemudian saat setiap daftar hasil pencarian di-klik satu per satu, diharapkan dapat menampilkan infobox atau knowledge box seperti pada halaman pencarian di Google.
Contoh: Dalam dataset Anime Recommendation, dilakukan pencarian dengan query **One Piece**. Maka daftar hasil pencarian yang ditampilkan mengandung query tersebut misalnya One Piece, One Piece Film: Strong World, One Piece Film: Z, One Piece Film: Gold.
Jika **One Piece** di-klik, maka aplikasi menampilkan infobox berisi informasi detail anime **One Piece**. Contoh tampilan sebagai berikut:

Ketentuan Pengerjaan
--
Tugas ini dikerjakan oleh kelompok mahasiswa beranggotakan 2-3 orang. Setiap dataset yang diberikan maksimal dipilih oleh dua kelompok.
Waktu Pengerjaan
--
|Tahap | Tugas | Deadline |
|-------|-----------|--------------------------|
|1 | Kelompok dan dataset | 9 November 2020 |
|2 | Laporan progress | 23 November 2020 |
|3 | Laporan Final | 17 Desember 2020 |
Tahap 1
---
Menentukan nama kelompok, anggota, dan dataset yang dipilih. Dataset yang diberikan maksimal hanya untuk 2 kelompok. Pemilihan dataset dapat diisi di link [berikut](https://docs.google.com/spreadsheets/d/1g8DG3REXVUHsK-n3psDwXHhNYcObZL5ou245MjDhLhs/edit?usp=sharing) (hanya bisa diisi dengan login email UI).
Tahap 2 (Laporan Progress)
---
Diharapkan pembangunan ontologi/vocabulary dan triple store telah selesai
Format laporan:
- PDF maksimal 3 halaman
- A4, font-size 11, spasi 1,5
- Untuk judul font-size 14, subbab font-size 12
- Font yang digunakan bebas (disarankan Arial atau TNR) selama bisa dibaca
Laporan progress berisi:
1. Judul/ dataset yang dipilih
2. Nama kelompok, nama anggota, dan NPM anggota
3. Deskripsi singkat menjelaskan aplikasi yang dibangun
4. Penjelasan ontologi/vocabulary yang telah dibangun
5. Penjelasan RDF graph/triple store
6. Penjelasan integrasi data lokal yang dibangun dengan data dari Wikidata/DBpedia
7. Rencana artsitektur aplikasi yang akan dibuat berisi bahasa pemograman yang akan digunakan
8. Jelaskan query yang bisa dilakukan dalam aplikasi nantinya
Tahap 3 (Laporan Final)
---
Demo program (wajib dihadiri oleh seluruh anggota grup yang bersangkutan)
Laporan final:
1. Judul/ dataset yang dipilih
2. Nama kelompok, nama anggota, dan NPM anggota
3. Proporsi pengerjaan Tugas Kelompok
|NPM | Nama | Deskripsi Tugas | Kontribusi|
|-------|-----------|--------------------------|--|
| ex: 1122334455 | ex: Luffy | ex: Pembangunan ontologi dan triple store | ex: 35% |
| ex: 6677889900 | ex: Zoro | ex: Pembangunan aplikasi | ex: 35%|
| ex: 1234567890 | ex: Nami | ex: Desain GUI | ex: 30%|
4. Deskripsi singkat menjelaskan aplikasi yang dibangun
5. Penjelasan ontologi/ vocabulary yang telah dibangun
6. Penjelasan RDF graph/ triple store-nya
7. Penjelasan integrasi data lokal yang dibangun dengan Wikidata/DBpedia
8. Artsitektur aplikasi (bahasa pemograman dan library yang digunakan)
9. Screenshoot tampilan sistem untuk setiap fitur pencarian atau fitur lain yang ada di dalam aplikasi
Penilaian
---
Secara umum penilaian akan didasarkan pada dua hal berikut:
1. Laporan (30%)
- Kelengkapan dan kejelasan laporan
- Ketepatan ontologi/vocabulary dan triple store yang dibangun
2. Demo program (70%)
- Graphic User Interface
- Apakah aplikasi berjalan atau tidak
- Fitur-fitur yang diminta (searching, daftar hasil pencarian, infobox)
- Kesesuaian hasil query yang dicari