Nie jestem pewien, co rozumiesz przez „nową koncepcję o nazwie kategoria”, może możesz podać przykład?
Jeśli masz na myśli, że chcesz dodać dodatkowe metadane, na przykład w celu uporządkowania informacji w interfejsie użytkownika, nie ma potrzeby rozszerzania języków sieci semantycznej ani systemów przechowywania — mogą już robić to, co chcesz.
Załóżmy, że masz dane szkoły z zbioru danych szkół rządu Wielkiej Brytanii (używając kodowania Turtle dla zwięzłości):
@prefix sch-ont: <http://education.data.gov.uk/def/school/>.
<http://education.data.gov.uk/id/school/135412>
a sch-ont:School;
sch-ont:establishmentStatus
<http://education.data.gov.uk/def/school/EstablishmentStatus_Open>;
sch-ont:MSOA <http://statistics.data.gov.uk/id/msoa/E02000001>;
sch-ont:establishmentName "Guildhall School of Music and Drama";
...
Możesz bezpośrednio wysłać zapytanie o te dane z punktu końcowego SPARQL lub możesz pobrać dane i przechowywać je lokalnie we własnym potrójnym sklepie. Tak czy inaczej, masz pełną swobodę w dodawaniu dodatkowych informacji, które są przydatne dla Twoich użytkowników. Na przykład:
@prefix ankurs-app: <http://ankur.org/example/app/vocab/display#>.
<http://education.data.gov.uk/id/school/135412>
ankurs-app:category ankurs-app:wkdCool.
Możesz przechowywać tę nową trójkę na tym samym wykresie, co pobrane dane, lub możesz przechowywać ją w oddzielnym nazwanym wykresie, aby wskazać, że jest to informacja, która ma inne pochodzenie niż dane źródłowe. Tak czy inaczej, łatwo jest wysłać zapytanie programowo z Jeny lub za pomocą zapytania SPARQL.
Tworzenie układu dla wydajnego odpytywanie nieschematycznych, potrójnie skoncentrowanych danych jest dobrze zbadanym i trudnym problemem. Większość platform RDF, w tym Jena, ma dobrze zoptymalizowany kod do odpytywania i aktualizowania trójek z własnych schematów baz danych. Musiałbyś mieć bardzo dobre powody, aby rozpocząć własny układ relacyjnej tabeli :)
Jeśli naprawdę musisz wziąć istniejący schemat tabel relacyjnych i zmapować go do modelu RDF w Jenie, spójrz na D2RQ .