Piszę aplikację na komputer przy użyciu technologii Gnome, a doszedłem do etapu Zacząłem planować obsługę Semantic Desktop.Przypisywanie identyfikatorów URI do zasobów RDF
Po wielu burzy mózgów, szkicowania pomysłów i modeli, pisanie i czytanie notatek dużo o RDF i tematów pokrewnych, w końcu wymyślił projekt planu.
Pierwszą rzeczą, którą postanowiłem zrobić, to zdefiniować sposób, w jaki podaję identyfikatory URI do zasobów i tutaj chciałbym poznać Twoją radę.
Mój program składa się z dwóch części:
1) na niższym poziomie, schematu RDF jest zdefiniowana. Jest to standardowy zestaw klas i właściwości , możliwych do rozszerzenia przez użytkowników, którzy chcą uzyskać więcej opcji (przy użyciu języka definicji przetłumaczonego na RDF).
2) Na wysokim poziomie użytkownik definiuje zasoby przy użyciu tych klas i właściwości .
Nie ma problemu z niższym poziomem, ponieważ model danych jest publiczny: nawet jeśli użytkownik zdecyduje się dodać nową zawartość, jest bardzo wdzięczna za udostępnienie jej innym użytkownikom i sprawienie, aby aplikacje innych osób miały więcej funkcji. Problem dotyczy z drugą częścią. Na wyższym poziomie użytkownik definiuje zadania, spotkania, terminy, plany i harmonogramy. Mogą one być prywatne, a użytkownik może preferować posiadanie jakichkolwiek informacji w URI, ujawniając źródło informacji .
Więc tutaj są pytania, mam na uwadze:
1) Który schemat URI należy używać? Nie mam strony internetowej ani stron internetowych , więc korzystanie z http nie ma sensu. Nie wydaje się również, aby sensownie używać innego standardowego identyfikatora URI zarejestrowanego w IANIE. Byłem rozważa dwie opcje: Użyj jakiś zwyczaj, mój własny, Uri nazwę systemu dla środków publicznych i użyć gołego URN dla podmiotów prywatnych, coś jak to:
urn : random_name_i_made_up : some_private_resource_uuid
Ale zastanawiałem się, czy niestandardowy schemat URI to dobra decyzja, jestem otwarty, aby usłyszeć pomysły od Ciebie :)
2) Jak ukryć prywatne zasoby? Z jednej strony może być bardzo przydatne dla identyfikatora URI, aby określić, skąd pochodzi zadanie, zwłaszcza gdy zadania są udostępniane i delegowane między ludźmi. Z drugiej strony nie uwzględnia prywatności. Zastanowiłem się, czy mogę/powinienem/powinnam używać dwóch różnych stylów URI w zależności od ustawień użytkownika? Spowodowałoby to niespójność w postaci . Nie jestem pewien, co tutaj zrobić, ponieważ nie mam żadnego doświadczenia z URI w postaci . Mam nadzieję, że masz dla mnie jakąś radę.
Dzięki, użyję UUID, jak sugerujesz. Sam URI nie będzie zawierał żadnych danych o lokalizacji, ale udostępnianie zasobów będzie nadal możliwe: za pośrednictwem niektórych usług zewnętrznych, np. HTTP/XMPP, użytkownicy łączą się ze sobą i mogą wysyłać zasoby między sobą za pomocą protokołu. Następnie zasób może zawierać szczegóły umożliwiające dalszy dostęp do niego. Więc prywatne zasoby wciąż pozostają prywatne, jeśli nie są udostępniane innym osobom :) – cfa45ca55111016ee9269f0a52e771