Is this on?

Almost a year since my last post, so it’s time for a followup. And to mark the occasion, we will be switching the language of this blog to english.  The reason for my return to blogging, and also the subject of today’s post, is that I’ve been working with legal information in all it’s aspects a lot lately. And these matters are not necessarily specific to Swedish law.

The subject of todays’ post is an old text I wrote for the nordic yearbook of law and informatics last year. It’s a brief introduction to semantic web concepts, with examples and use cases pertaining to legal information.

I hope some of you will find the attached Legal information systems and the Semantic Web interesting and/or useful.

Mer om semweb-utveckling och nya features på lagen.nu

Nu har det varit obegripligt tyst här på bloggen ett bra tag, trots
att det hänt massor som är värt att berätta om. Eller så är det just
för att det hänt massor som det varit tyst på bloggen.

I vart fall så har sommaren ägnats åt lagen.nu-projektet, som nu går
in i sin tredje månad. Jag har delat min tid ungefär lika mellan
systemutveckling av själva teknikplattformen och projektledning av de
som skriver. Den senare delen av arbetet är förstås den mest
spännande, men den kan med fördel följas på
lagen.nu-utveckling-listan, som jag tycker du ska gå med på. Eller så
kan du bli ett fan av lagen.nu på facebook!

Men teknikutvecklingen har jag inte skrivit så mycket om varken här
eller där, så nu är det dags. Den ombyggnad som jag beskrev här, som
rör hur data från olika källor pusslas ihop med hjälp av SPARQL, har
driftssatts och funkar hyfsat bra. Jag har en del problem med Sesame,
där vissa saker tar omotiverat mycket tid, särskilt på
linuxplattformen, men det funkar iaf, sort of. Jag har också fått en
del tips på hur man kan undvika de långa kedjor av w
dct:isPartOf x . x dct:isPartOf y . y dct:isPartOf z
som
jag idag använder. Lösningen går ut på att tala om för Sesame att
dct:isPartOf är en TransitiveProperty och sedan be
Sesame använda inference — på det viset kan Sesame själv förstå att
w dct:isPartOf z. Exakt hur man faktiskt
gör det har jag dock inte läst mig till än.

Den nya versionen finns i betatest på ferenda.lagen.nu, och vana
lagen.nu-besökare kommer se ett antal förändringar redan i den
grafiska designen. Sidorna är uppbyggda med en smal högerkolumn som
oftast visar någon innehållsförteckning eller liknande, samt två lika
breda kolumner som visar själva dokumenttexten, samt metadata kring
dokumentet, exempelvis en kommentar till en paragraf, eller en lista
av rättsfall som hänvisar till paragrafen. Varje kategori av metadata
visas i en box som kan expanderas eller kollapsas. Det finns även en
ny kategori av rättsinformation vid sidan av ”Lagar” och ”Domar”,
nämligen ”Begrepp” (men säg inte till någon jurist att jag betraktar
begrepp som en rättskälla, då blir jag anklagad för att syssla med
begreppsjurisprudens).

Utöver denna nya formgivning finns även ett antal nya funktioner. Jag
tänkte gå igenom två av dem och visa hur den RDF/SPARQL-baserade
plattformen gjort det snabbare att lägga till dem. Att lägga till ny
funktionalitet på lagen.nu innebär att på ett eller annat sätt utvinna
data (dokument) och metadata (egenskaper hos dokument) om/från
rättskällor, för att sedan presentera och framförallt korskoppla denna
data/metadata.

”Lagrum som hänvisar hit”: Bredvid varje paragraf så finns det en box
(med rubriken ”Lagrumshänvisningar hit”) som innehåller en lista över
olika ställen i denna eller andra lagar som hänvisar till den aktuella
paragrafen. Minnesgoda bloggläsare känner igen detta från det
paper
jag och Christine Kirchberger skrev förra
vintern
. Det är också implementerat på ungefär samma sätt, med en
SPARQL-fråga vars svar vävs ihop med lagtexten genom XSLT. Den största
skillnaden är att jag vid sidgenereringen ställer ett antal olika
SPARQL-frågor (en för varje boxtyp, ungefär), väver ihop svaren till
en RDF/XML-fil, som sedan används från XSLT. Det finns lite kvar att
göra på den här funktionen, framförallt kryptiska beteckningar i stil
med ”SFS 2000:1225, P1S4” bytas ut mot kryptiska beteckningar i stil
med ”1 § 4 st lagen (2000:1225) om straff för smuggling”.

Den här funktionen kunde alltså realiseras med hjälp av metadata som
redan fanns, och det system för att väva ihop data och medatada som
också redan fanns. Den enda nyutvecklingen var en ny SPARQL-fråga och
en ny funktion i XSLT-stylesheetet.

”Legaldefinitioner”: I lagtext finns det ofta olika typer av
begreppsdefinitioner. Dessa definitioner förekommer vanligtvis i
samband med någon form av fasta uttrycksformer:

Tabellform, exv PUL 3 §:

I denna lag används följande beteckningar med nedan angiven
betydelse.

Beteckning Betydelse
Personuppgifter All slags information som direkt eller
indirekt kan hänföras till en fysisk person som är i livet.

Listform, exv LEK 1:7:

I lagen avses med

abonnent: den som har ingått avtal med en leverantör av allmänt tillgängliga elektroniska kommunikationstjänster om tillhandahållande av sådana tjänster,

Löpande form, exv PAL 2
§
:

Med produkter avses i denna lag lösa saker. En produkt som har infogats eller på annat sätt blivit en beståndsdel i någon annan lös egendom eller i fast egendom skall alltjämt anses i lagens mening utgöra en produkt för sig.

Parantesform, exv JB 4:19 a

Köparen får inte åberopa att fastigheten är felaktig enligt 11, 12 och 17–19 §§, om han inte lämnar säljaren meddelande om felet inom skälig tid efter det att han märkt eller borde ha märkt felet (reklamation).

Brottsrubriceringsform, exv BrB 17:4

Den som, utan att fall är för handen som förut i detta kapitel är
sagt, genom att sätta sig till motvärn eller eljest med våld söker
hindra någon i hans myndighetsutövning, dömes för våldsamt
motstånd
till böter eller fängelse i högst sex månader.

En definition av ett begrepp som finns i lagtext kallas vanligen
legaldefinition och har förstås en särskild tyngd jämfört med de
definitioner som vi vanliga dödliga kan åstadkomma. Därför är det
intressant att försöka känna igen legaldefinitionsmässigt. Hur man gör rent
textprocessingsmässigt för att göra det tänker jag inte gå in på här,
men den korta versionen är att det inbegriper ett stort antal, allt
hårigare, regexpar. Den långa versionen finns i den allt mer feldöpta
funktionen _construct_ids. Det är i vart fall inte särskilt svårt, utan jobbet ligger mest i att hitta de olika uttrycksformerna och skriva testfall. Poängen
är att efter vi kört våra regexpar så har vi ytterligare drygt tusen
RDF-triples på formen:

<http://rinfo.lagrummet.se/publ/sfs/1962:700#K17P4>
dct:subject "Våldsamt motstånd"@sv

Under den nya fliken ”Begrepp” har vi samlat begrepp från
3½ olika håll – de begrepp vi själva beskrivit i
lagkommenteringsprojektet, de begrepp som används som sökord i
rättsfall och de legaldefinitioner som vi utvunnit enligt ovan (samt
information om huruvida svenska Wikipedia har en sida om
begreppet).

För att skapa en sådan sida — exempelvis för begreppet ”Konsument”
hämtar vi all data från Sesame. Tre SPARQL-frågor, samma process för att slå ihop svaren
till en RDF/XML-fil, (nästan) samma process för att väva ihop ett
källdokument (som i detta fallet bara innehåller själva begreppet som
titel) med RDF-datan. Ny funktionalitet med ganska liten arbetsinsats.

(Även innehållsförteckningarna under flikarna ”Lagar”, ”Domar” och
”Begrepp” genereras nu på samma sätt — in med en stor RDF-graf, några
konfigurationsparametrar och ut kommer ett antal hundra sidor som
sammanlagt bildar ett index över all information av en viss typ som
finns i systemet).

Diverse skriverier

Lite tyst här på sistone — jag jobbar mer eller mindre frenetiskt på
andra saker just nu, bland annat på den
allra sista kursen jag ska gå
på juristprogrammet. Känns lite
märkligt.

Men jag har skrivit saker på annat håll. Först upp, två krönikor i
TechWorld, en om problemen med
teknikneutral lagstiftning
(där jag i stort utgår från vad Rasmus
Fleisher sa för två år sedan
), och en annan om lagstiftaren
som systemarkitekt
(som i princip bygger på ett tema Nicklas
Lundblad
presenterade för tre år sedan). Medelmåttor lånar, genier
stjäl. Detta är mina sista krönikor för Techworld, vilket är synd, för
jag gillade verkligen att ha deadlines, läsarkrets och inkomst. Om du
vill att jag ska skriva åt just dig och kan erbjuda dessa tre
faktorer, hör av dig.

Jag har tidigare
nämnt
att jag höll på med en text om lagen.nu till Lov &
Data
– nu är tidningen ute, och här
kan du läsa artikeln
. Om du inte redan prenumererar på Lov & Data
rekommenderas ett medlemsskap i ADBJ, då en prenumeration ingår, samt
tillträde till en massa intressanta
seminarier
i Stockholmsområdet.

För lite
längre sedan
skrev jag och Christine Kirchberger
ett paper till en workshop vid Jurix 2008. Det kanske
kommer publiceras officiellt i någon form någon gång, men tills dess
finns vårt paper ”Inbound links – picking the low hanging fruit from
the semantic web” tillgängligt här. Bör vara intressant för både
teoretiskt lagda jurister och semantic web-intressenter.

Avslutningsvis har jag även blivit skriven om: Juridicums
nyhetsbrev
gjorde en liten intervju angående lagen.nu. Superkul!

Antagen till JURIX-workshop!

För några veckor sedan, mitt under brinnande konferensförberedelser, skrev jag och Christine Kirchberger ett paper om rättsinformation och semantic web, kallat ”Inbound links – picking the low hanging fruit from the semantic web”. Pappret handlar om begreppet hänvisningar i juridik och hypertext, och beskriver ett exempel på en tillämpning – hur man under varje paragraf i en lagtext listar andra paragrafer som hänvisar dit – som man kan realisera med extremt enkla medel (ett minimalt XSLT-stylesheet som använder sig av en superenkel SPARQL-fråga).

Nu har det blivit antaget till en workshop vid den anrika JURIX-konferensen, som detta år äger rum i Florens, och vi har blivit inbjudna dit för att på femton minuter redogöra för våra resultat (programmet finns här, vi talar under punkten ”Workshop on Legislative XML”). Efter att ha sysslat med rättsinformation i några år på hobbybasis är det otroligt kul att dels få samarbeta med en doktorand på området, dels få presentera vårt resultat i ett internationellt sammanhang. Nu ska jag bara tygla min nervositet (och motivera varför vi inte använt oss av Metalex som format).

Det hela äger rum nästa vecka, och förmodligen läggs även vårt paper ut någonstans på Jurix-webbplatsen då — återkommer med länk!

Uppdatering: Nu finns även workshopprogramet tillgängligt som PDF.

Dagens uppLYSning om RDF

Ikväll klockan 18:15 håller jag en upplysning om informationsmodellering, RDF och annan semantic web-teknologi, mot bakgrund av hur jag använt dem i lagen.nu. Här är de slides jag tänkt använda, återigen i S5-format. Eftersom jag använder object-taggen för att länka in live-webbsidor funkar det kanske inte i alla webbläsare, men det verkar funka i min Firefox iallafall. Är du i Linköping ikväll, kom gärna förbi!