ACL Pada Endpoint

Added by Jan Peter Alexander Rajagukguk over 8 years ago

Enaknya RDF khan, kita bisa milih data apa saja yang hendak ditampilkan. Misalnya, dari sebuah RDF Schema, kita bisa ambil property yang disediakan. SPARQL bisa di sesuaikan dengan data apa saja yang boleh dibuat. Jadi, ACL yang dibuat bisa memastikan apa saja yang bisa diambil. Berikut arsitektur yang saya ajukan:

Contohnya, kalau mau mengambil data periodic table, kita bisa batasi hanya field-field tertentu saja yang bisa diambil:

Data periodic Table:

<Element rdf:ID="Na" xmlns="http://www.daml.org/2003/01/periodictable/PeriodicTable#">
    <name>sodium</name>
    <symbol>Na</symbol>
    <atomicNumber>11</atomicNumber>
    <atomicWeight>22.989770</atomicWeight>
    <group rdf:resource="#group_1"/>
    <period rdf:resource="#period_3"/>
    <block rdf:resource="#s-block"/>
    <standardState rdf:resource="#solid"/>
    <color>silvery white</color>
    <classification rdf:resource="#Metallic"/>
    <casRegistryID>7440-23-5</casRegistryID>
</Element>

Misalkan Klien meminta berikut:

PREFIX table: <http://www.daml.org/2003/01/periodictable/PeriodicTable#>
SELECT ?name ?symbol ?number
FROM <http://www.daml.org/2003/01/periodictable/PeriodicTable.owl>
WHERE
{
  ?element table:name ?name.
  ?element table:symbol ?symbol.
  ?element table:atomicNumber ?number.
}
Pada proses yang pertama kita bisa parsing untuk menentukan apakah mereka boleh:
  1. Melakukan query tersebut.
  2. Mengakses setiap elemen yang dimaksud.

Lalu setelah mendapatkan query yang benar, query tersebut dilanjutkan ke endpoint yang sebenarnya.

Data yang telah didapatkan kembali dicek untuk data-data yang boleh diambil. Kalau kita mau ACL per property, kita wajib melakukan ini. Artinya, bisa jadi ada orang yang tak sudi bila data nomor atomnya dipublikasikan karena masih dalam patent pending misalnya. Tentunya kelemahan dari pemeriksaan tersebut adalah menjadikan graf yang dikembalikan tidak lengkap. Tapi hal ini masih diperbolehkan. Ini sebenarnya mengemulasi keyword OPTIONAL dari SPARQL. Bedanya, OPTIONAL kita memeriksa keberadaan data dari ACL, bukan karena datanya tidak lengkap.

Jadi, aplikasi kita dibuat menjadi sebuah endpoint yang berfungsi untuk memfilter field-field yang bisa digunakan. Kalau mau dibuatkan, jadinya aplikasi kita bisa menjadi proxy untuk endpoint sebenarnya.

endpoint.jpg - Proposal Proxified SPARQL Endpoint (27.7 KB)


Replies (5)

RE: ACL Pada Endpoint - Added by Ananda Prasetya over 8 years ago

Manstab, berarti kita gak perlu lagi dong make database untuk ngatur ACL hahahahaa :D :D

RE: ACL Pada Endpoint - Added by Fariz Darari over 8 years ago

Take a look at http://www.w3.org/wiki/Foaf%2Bssl (WebID-based Authentication)

Access control juga bisa berbasis Named Graphs: http://www4.wiwiss.fu-berlin.de/bizer/ng4j/#ng-intro

RE: ACL Pada Endpoint - Added by Jan Peter Alexander Rajagukguk over 8 years ago

FOAF-SSL and Named Graph in common try to tackle data integration and between public data and private data.

But what I would like to address:
  1. How people would share their data to particular application like OAUTH. This can be tackled by FOAF-SSL.
  2. How people would like to share some of their properties to be mined by a single application. Comercial entity shush this issue and let this bargain behind corporate deal.

But I think, if we want to create Web of Trust, we should provide people tool to decide which are public and which is not. Let their data theirs, since it's a fair deal.

Btw, Fariz, pls explain your links. It would be effective and we could get the idea faster and not to read all the stuff from the very beginning just to understand the part you would like to show. Besides, it would be easier to move these kind of topic into our WIKI.

RE: ACL Pada Endpoint - Added by Adila Krisnadhi over 8 years ago

Kalau yang ingin dilakukan adalah semacam control list untuk bagian dari RDF graph, maka bisa juga menggunakan vocabulary dari Privacy Preference Ontology-nya DERI
http://vocab.deri.ie/ppo

RE: ACL Pada Endpoint - Added by Fariz Darari over 8 years ago

Saya sudah membuat wiki untuk kontrol akses & PPO, check this out please @ https://projects.ui.ac.id/projects/web-semantik/wiki/Access_Control

(1-5/5)