Jeg er ikke sikker på, hvad du mener med "et nyt begreb kaldet kategori", måske kan du give et eksempel?
Hvis du mener, at du vil tilføje yderligere metadata, måske som en måde at organisere information på i brugergrænsefladen, er der ingen grund til at udvide de semantiske websprog eller lagersystemer - de kan allerede gøre, hvad du vil.
Antag, at du har data for en skole fra datasættet for britiske statsskoler (ved at bruge Turtle-kodning for kortheds skyld):
@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";
...
Du kan forespørge disse data direkte fra SPARQL-slutpunktet , eller du kan downloade dataene og gemme dem lokalt i din egen triple-butik. Uanset hvad, har du fuld frihed til at tilføje ekstra information, der er nyttig for dine brugere. For eksempel:
@prefix ankurs-app: <http://ankur.org/example/app/vocab/display#>.
<http://education.data.gov.uk/id/school/135412>
ankurs-app:category ankurs-app:wkdCool.
Du kan gemme denne nye triple i samme graf som de downloadede data, eller du kan gemme den i en separat navngivet graf for at angive, at det er information, der har en anden oprindelse end kildedataene. Uanset hvad, så er det nemt at forespørge det enten programmatisk fra Jena eller via en SPARQL-forespørgsel.
Lav et layout for effektivt at forespørge skemaløse tredobbelte data er et velundersøgt og svært problem. De fleste af RDF-platformene, inklusive Jena, har veloptimeret kode til forespørgsel og opdatering af tripler fra deres egne databaseskemaer. Du skal have rigtig gode grunde til at gå i gang med dit eget relationelle bordlayout :)
Hvis du virkelig har brug for at tage et eksisterende relationelt tabelskema og kortlægge det til en Jena RDF-model, så se på D2RQ .