Begreppsverktyget för M&S-portalen

Storlek: px
Starta visningen från sidan:

Download "Begreppsverktyget för M&S-portalen"

Transkript

1 Begreppsverktyget för M&S-portalen Jon Larsson 11 juni 2007 Examensarbete i datavetenskap, 20 poäng Handledare på CS-UmU: Jan-Erik Moström Examinator: Per Lindström Umeå Universitet Institutionen för datavetenskap SE UMEÅ SWEDEN

2

3 Sammanfattning För att lösa kommunikationsproblem på grund av att termer tolkas olika har en webbapplikation skapats. Applikationen, kallad Begreppsverktyget, kan hantera terminologier där termer inom ett fackområde kopplas till definitioner av begrepp. Inom en terminologi kan flera termer kopplas till ny definition av ett begrepp, eller en existerande. Termer kan ges prioritetsordning för användning med en skala från rekommenderad till förbjuden. Webbapplikationen kartlägger när en term med en viss användning börjar användas, och när denna användning slutar att gälla. Begrepp kan definieras genom textuella beskrivningar och genom relationer till andra begrepp. Definitioner av begrepp kan hittas genom att söka efter termer och egenskaperna för hur termer används i terminologier. Syftet med denna funktionalitet är att tillåta folk att använda termer som de är vana vid, och ge andra möjligheten att förstå vad man menar med dem. Resource Description Framework (RDF) och en speciell vokabulär används för lagring av data. Abstract In an effort to solve problems with natural language communication due to different interpretations of terms, a prototype of a web based application was developed. The application called Begreppsverktyget is capable of handling terminologies where usage of terms in a special area of interest is mapped against definitions of concepts. In a terminology several terms can be mapped to a new definition of a concept, or an existing one. Terms can be prioritized in a range representing recommended for use to forbidden for use. The application keeps track of when a certain term with a certain priority starts being used in a terminology, and when this usage becomes deprecated. Concepts can be described using textual descriptions and relations to other concepts. Definitions of concepts can then be found by searching for terms and properties of their usage in terminologies. The purpose of this functionality is to allow people to use terms as they are used to, and giving others the possibility to understand their intended meaning. Triplets in Resource Description Framework (RDF) are used for storage of the data organized by a custom vocabulary.

4 ii

5 Innehåll 1 Introduktion Försvarets materielverk SMART-lab Begrepp Homonymer och synonymer Terminologi Problembeskrivning Syfte Målsättning Relaterat arbete Den semantiska webben och begrepp Inledning Språk för den semantiska webben Diskussion Genomförande Behovsanalys Informationsmodell för begrepp Datamodellen för begreppsverktyget Webbapplikationen Resultat Sökning Terminologier Nyheter och kommentarer Visa begrepp Slutsatser Begränsningar Fortsatt arbete iii

6 iv INNEHÅLL 7 Erkännanden 39 Referenser 41 A Frågor för användarundersökning 43

7 Figurer 1.1 Ogdens och Richards triangel Begreppstetraeder, Ogdens och Richards triangel utökad med en begreppsbeskrivning Exempel på ett semantiskt nät Exempel på en RDF-graf Exempel på användning av blanka noder Klasser och instanser i RDF Schema Klasser och instanser i OWL Exempel på möjligheter med vokabulären SKOS Informationsmodell för begrepp på FMV Vokabulär för informationsmodellen i RDF Uppdelning av programmet i lager Abstrakt struktur för användning av begreppsverktyget Klassdiagram för lagret logik för gränssnitt Enkel sökning Utökad sökning Listning av terminologier Skapa ny terminologi Termanvändning för terminologi Termanvändning för terminologi Redigera termanvändning Nyheter Kommentarssystemet Information om ett begrepp v

8 vi FIGURER

9 Kapitel 1 Introduktion Detta examensarbete har syftet att skapa en prototyp för en webbapplikation för begreppshantering, ett begreppsverktyg. Tanken med webbapplikationen är att utöka funktionaliteten hos en normal ordlista. Detta kapitel, introduktion, presenterar kort försvarets materielverk och SMART-lab. Därefter presenteras grundläggande kommunikationsteori relevant för examensarbetet, samt några problem som termanvändning i naturligt språk ger upphov till. I kapitel 2, problembeskrivning, beskrivs de grundläggande problemen som finns med begreppshantering och målet för examensarbetet. I detta kapitel ges även syfte och målsättning för webbapplikationen en utförligare beskrivning. Kapitel 3, den semantiska webben och begrepp, är en fördjupning i hur teknik för den semantiska webben kan användas för att modellera och hantera begrepp. I kapitel 4, genomförande, demonstreras hur jag har gått till väga för att nå målen med webbapplikationen. Följande kapitel, resultat, visar upp begreppsverktyget och vilken funktionalitet det har. I kapitel 6, slutsatser, diskuteras lösningens förtjänster, begränsningar och omedelbara förbättringar som bör, eller kan göras. 1.1 Försvarets materielverk Försvarets materielverk är en central förvaltningsmyndighet med uppgift att anskaffa, vidmakthålla och avveckla materiel och förnödenheter på uppdrag av Försvarsmakten, samt att inom detta område stödja Försvarsmaktens verksamhet. Myndigheten biträder Försvarsmakten i fråga om långsiktig materielförsörjningsplanering samt materielsystemkunskap.[2] Försvarets materielverk och är en civil myndighet och förkortas ofta FMV. 1.2 SMART-lab SMART-lab[8] är en avdelning på FMV:s huvudkontor i Stockholm som primärt erbjuder tjänster inom verksamhetsanalys. På SMART-lab finns även lokaler för ledningsövningar och tekniska demonstrationer. Ett av SMART-lab:s uppdrag är att skapa en webbaserad portal[7] för samverkan inom området modellering och simulering (M&S) inom Försvarsmakten. Portalen ska ge ett dagligt stöd för dess användare och inte bara agera som en 1

10 2 Kapitel 1. Introduktion samling med information. 1.3 Begrepp Ett begrepp kan ses som den mentala bild som en person har skapat genom tolkning av en företeelse. För att kommunicera ett begrepp används benämningar, t.ex. ord, där mottagaren förhoppningsvis uppfattar de begrepp som avsändaren avsåg. Eftersom vi inte klarar av tankeöverföring kan vi dock aldrig sägas kommunicera exakt samma begrepp, vi får acceptera skillnader upp till en viss nivå. Inom semiotiken finns en modell (figur 1.1) presenterad av Ogden och Richards (1923) som stämmer in på denna syn på begrepp. Modellen kan visualiseras som en triangel där begrepp motsvaras av referens, företeelse av referent och benämning av symbol. Triangelns kanter symboliserar två kausala relationer mellan referens och symbol respektive referens och referent samt en tillskriven relation mellan symbol och referent. Figur 1.1: Ogdens och Richards triangel För att länka en benämning till rätt begrepp kan en begreppsbeskrivning användas. Om Ogden och Richards triangel utökas med begreppsbeskrivning får den formen av en tetraeder (figur 1.2). Beskrivningen, benämningen och företeelsen får kausala (mer direkta) relationer till begrepp, och får tillskrivna (indirekta) relationer inbördes. Figur 1.2: Begreppstetraeder, Ogdens och Richards triangel utökad med en begreppsbeskrivning Begrepp, benämning och företeelse i figur 1.2 har några ofta använda synonymer i sammanhanget, dessa redovisas nedan. Framför allt används ofta term i denna rapport i stället för benämning.

11 1.4. Homonymer och synonymer 3 benämning begrepp företeelse symbol, term referens referent 1.4 Homonymer och synonymer Benämningar som kan betyda flera saker, det vill säga att de länkar till mer än ett begrepp, kallas homonymer. Exempelvis kan träd benämna både växten träd som man sågar plankor från, och de träd som används inom matematiken och består av mängder av noder och kanter. Sådana tvetydigheter kan ofta redas ut med hjälp av sammanhanget i vilket benämningen används, men det finns mindre självklara fall än det givna exemplet. Om flera benämningar länkar till samma begrepp är de synonymer. 1.5 Terminologi I denna rapport används ordet terminologi för en samling termer (benämningar) och information om deras användning inom ett fackområde.

12 4 Kapitel 1. Introduktion

13 Kapitel 2 Problembeskrivning Kostnaden för dåligt definierade termer kan inte enkelt skattas, men en fingervisning ges av Björn Nilsson som har över två decenniers erfarenhet inom området. Han ställde en fråga under en lunch med ett antal andra personer som också hade god inblick i problemen med dåligt definierade termer: Den fråga jag ställde kring bordet var kostnaden för försvarsmakten att nyttja två termer, där de underliggande begreppen inte var väl definierade. Tidsperioden avsåg de senaste fem åren för förmåga och tio år för funktion. De svar jag fick hade viss varians, men vi enades omkring 200 MSEK i kostnad för ett icke väldefinierat förmågebegrepp. Det stämmer rätt väl med min egen skattning sedan tidigare. Kostnaden för att ha c:a tretton olika definitioner eller begrepp för termen funktion, skattades till över det dubbla, dvs. minst 400MSEK. De skattade kostnaderna inbegriper förlorad arbetstid i olika analyser och utvecklingskostnader, men inte indirekta kostnader. Försvarsmakten är FMV:s överlägset största kund, vilket gör att sådana problem även får genomslag på FMV. Exemplet ger också ett mått på värdet i att använda väl definierade termer. En annan sida av kommunikationsproblemet vid användning av termer är förekomsten av synonymer och homonymer. Även om en term har fått en beskrivning som klart definierar ett begrepp, kan samma term användas för andra begrepp homonym eller så kan andra personer föredra att använda andra termer för begreppet - synonymer. Ofta blir problematiken med synonymer och homonymer tydlig när personer från olika organisationer eller delar av organisationer ska kommunicera. Inom FMV finns en uppdelning i olika verksamhetsområden och projekt. Sådana uppdelningar kan vara orsak till att skilda kulturer för användning av termer växer fram internt. FMV måste också kunna kommunicera med bland annat försvarsmakten och försvarsindustri vilket ger ännu fler källor till homonymer och synonymer. 2.1 Syfte Behovet av ett system för hantering av begrepp inom FMV är tydligt, och ett sådant system kan främjas av ett IT-stöd som förenklar hanteringen. För SMART-lab:s del är behovet av ett IT-stöd för begreppshantering mer specifikt; i M&S-portalen ska finnas ett stöd, ett begreppsverktyg, för förståelse och korrekt användning av benämningar. 5

14 6 Kapitel 2. Problembeskrivning Detta examensarbete har syftet att ta fram en prototyp för ett begreppsverktyg för M&S-portalen. Prototypen ska också kunna användas för utvärdering i FMV:s uppdrag för begreppshantering. I examensarbetet ingår också att delta i arbetet med att undersöka vilka krav på och behov av det finns för ett IT-stöd för begreppshantering. 2.2 Målsättning Begreppsverktyget ska kunna presentera definierade begrepp, samt vilka termer som används för dessa. För att lösa delproblemet med homonymer och synonymer är information om termanvändning för begrepp centralt. Begreppsverktyget ska kunna svara på frågor som t.ex.: Anfallsvinkel används i ett dokument skapat inom projektet nytt flygplan , vad menade man när man skrev det? Begreppsverktyget ska alltså vara en kartläggning av hur termer används för att benämna begrepp över fackområden och tid. Datamängden för begreppsverktyget ska inte vara statisk eller centralt administrerad, normala användare ska kunna lägga in nya begrepp och termanvändningar. På grund av detta är inte ett fullskaligt begreppsmodelleringsverktyg en målsättning. Det ska vara möjligt att ta del av datamängden från andra program än genom begreppsverktyget, t.ex. för integrering i Microsoft Office och övriga delar på M&Sportalen. 2.3 Relaterat arbete Uppdraget begreppshantering är ett projekt som utförs på FMV. Det har målet att undersöka hur begreppshantering ska ske inom FMV. Uppdraget arbetar bland annat med förslag på organisation, processer och informationsmodell för begreppshantering. Resultat från detta arbete är värdefullt som utgångspunkt vid utformningen av begreppsverktyget.

15 Kapitel 3 Den semantiska webben och begrepp 3.1 Inledning Det är svårt att finna en kort och bra definition på begreppet den semantiska webben. Den nuvarande webben är i mångt och mycket ett nät av dokument som spänns upp av länkar dokumenten i mellan. Uttrycket den semantiska webben användes av Tim Berner-Lee, direktör för W3C[14], för en vision där den nuvarande webben av dokument utökas till att vara ett nät av data uppspänt av relationer mellan data, en webb av data. I denna del av rapporten presenteras visionen den semantiska webben och några språk som har syftet att realisera den. Här beskrivs också viss teori för kunskapsrepresentation, och metoder för begreppsmodellering. Syftet är att undersöka vilka möjligheter den semantiska webben ger för begreppsmodellering och begreppshantering Den semantiska webben En typisk hyperlänk på dagens webb ligger i ett HTML-dokument och pekar på ett annat. Ett HTML-dokument har syftet att definiera en för människor läsbar webbsida, medan det för ett program inte är mycket mer än mängd godtycklig text med viss struktur. Strukturen innebär att programmet får information om hur texten ska presenteras, t.ex. vad som är en rubrik, vad som är ett textstycke och vad som är en hyperlänk och vad den ska peka på. Vad som inte är uppenbart för ett program är vilken typ av information texten innehåller eller varför dokumentet innehåller en viss hyperlänk. Som exempel kan man tänka sig recensioner av restauranger. En sådan recension kan tänkas bestå av en recensionstext, ett betyg på skalan 1 till 5, och en referens till restaurangens hemsida. Denna information kan lätt publiceras på webben i ett HTML-dokument, och en läsare kan ta del av recensionstexten och betyget samt följa en hyperlänk från detta dokument till restaurangens hemsida. Ett program kan inte direkt se vad som är ett betyg, vad som är en recensionstext och vad som är en referens till en restaurang. I visionen för den semantiska webben är sådan data direkt tillgänglig för ett program och dess betydelse är specificerad. När data och dess betydelse är tillgängligt för datorprogram och inte bara människor finns möjlighet att utföra uppgifter mer automatiserat. I det tidigare exemplet med 7

16 8 Kapitel 3. Den semantiska webben och begrepp recensioner blir det möjligt att kombinera recensioner på restauranger med adresser för restauranger, för att t.ex. hitta restauranger i en viss stad som har fått ett snittbetyg över 4. För att det ska gå att kombinera information på detta sätt måste ett program veta att både en adress och en recension faktiskt gäller för samma restaurang. Detta görs genom att använda en URI som en globalt unik identifierare. URL-adressen för en restaurangs hemsida kan vara ett lämpligt val. På detta sätt blir den semantiska webben som en enda kollektiv relationsdatabas med URI-identifierare som nycklar Kunskapsrepresentation Att ordna objekt i kategorier är en vital del av kunskapsrepresentation [6]. En kategori är en samling objekt eller medlemmar, som har vissa egenskaper gemensamt. Kategorier kan ordnas hierarkiskt i en taxonomi, där underkategorier ärver de för objekten utmärkande egenskaperna från respektive överkategori. Detta är ett kraftfullt sätt att förenkla och organisera en kunskapsbas. Förutom arv kan man vilja beskriva andra förhållanden kategorier emellan. Sådana förhållanden kan vara att två kategorier inte delar några medlemmar (disjunkta) eller att alla medlemmar för en kategori också finns i unionen av ett antal underkategorier (uttömmande komposition). Om underkategorierna i en uttömmande komposition också är disjunkta kallas det för en partition. När det gäller egenskaper för objekt kan man t.ex. prata om mått av olika slag som längd och vikt. En annan egenskap kan vara fysisk sammansättning, att ett objekt är en del av ett annat. Inom kunskapsrepresentation används ofta termen ontologi. Det finns olika definitioner för ontologi men i denna rapport används termen med följande definition: En ontologi definierar de vanliga ord och begrepp som används för att beskriva och representera ett kunskapsområde[1] Ett semantiskt nät kan representera kategorier, objekt och relationer mellan dessa. En typisk grafisk representation visar objekt och kategorier som ovaler eller rutor och relationer som märkta pilar[6]. Figur 3.1 visar ett exempel på ett semantiskt nät. Detta semantiska nät innehåller kategorierna Hund, Katt och Fyrfotadjur, samt objekten Misse och Fido. Relationerna är delmängd av som anger att en kategori är en delmängd av en annan, medlem i som visar att ett objekt tillhör en kategori, samt ben som anger hur många ben som något har. Med tesaur menas i denna rapport en typ av ordlista där termer ges en definition och relaterade termer samt termer med bredare och smalare betydelse anges. Termer kan alltså ges en svagare typ av semantiska kopplingar mellan varandra. I en tesaur kan även synonyma termer listas, där en term är den som rekommenderas för användning Begreppsmodellering Rapporten Metoder och principer i terminologiarbetet[4] beskriver ett sätt att strukturera upp arbetet vid begreppsmodellering. Arbetet baseras på att identifiera kännetecken för företeelser som kan användas för att beskriva ett begrepp. Mycket av den tidigare beskrivna teorin för kunskapsrepresentation kan kännas igen i de beskrivna metoderna. Ett begrepp kan svara mot både en enstaka företeelse och en kategori av företeelser.

17 3.2. Språk för den semantiska webben 9 Figur 3.1: Exempel på ett semantiskt nät Ett kännetecken för ett begrepp är oundvikligen ett annat begrepp vi skulle omöjligen kunna uppfatta det annars alltså kan vi beskriva ett begrepp genom hur det relaterar till andra begrepp. Rapporten Metoder och principer i terminologiarbetet[4] tar upp tre relationer mellan begrepp: associativ, generisk och partitiv. En generisk relation motsvarar arv mellan kategorier, t.ex. en hund är ett djur. En partitiv relation motsvarar fysisk sammansättning, t.ex. en bil består av 4 hjul och en motor. Begrepp som är associativt relaterade till varandra hör samman av ett eller annat semantiskt skäl. Dessa samband kan t.ex. vara orsak verkan, ex. temperaturstegring utvidgning eller verktyg funktion, ex. hammare spika. Att modellera samtliga kännetecken enligt modellen med begreppsrelationer är inte rimligt, eftersom man i sådana fall måste modellera hela världen. Antalet kännetecken måste begränsas och vid någon gräns måste man falla tillbaks till att ange kännetecken med benämningar för begrepp. 3.2 Språk för den semantiska webben W3C, World Wide Web Consortium, som utvecklar standarder för webben, upprätthåller ett antal standarder som är intressanta för den semantiska webben. En färdig standard kallas för en W3C-rekommendation, ett arbetsutkast är grunden för en eventuell framtida rekommendation. I denna del förklaras överskådligt några rekommendationer och arbetsutkast som är intressanta med avseende på begreppshantering från W3C RDF - Resource Description Framework RDF[12] är en W3C-rekommendation. I sin enklaste form är RDF ett sätt att beskriva egenskaper för någon resurs, t.ex. vem som var fotograf för en bild, alltså en form av metadata. Ett sätt att visualisera RDF-data är genom en riktad graf, med märkta noder och kanter (exempel, se figur 3.2). Formellt är en RDF-graf en samling satser med tre komponenter: subjekt, predikat och objekt.

18 10 Kapitel 3. Den semantiska webben och begrepp Figur 3.2: Exempel på en RDF-graf Ett subjekt är en URI-referens elller en blank nod. I exemplet är exempel.se/enbild.jpg en URI-referens som används som subjekt. En blank nod är användbar när man vill beskriva en egenskap med flera olika värden, i figur 3.3 beskrivs storleken för en bild med en blanknod som i sin tur har egenskaperna bredd och höjd. Ett predikat är en URI-referens. I exemplet används predikaten dc/elements/1.1/type och Dessa kommer från en vanligt förekommande vokabulär för att beskriva metadata, Dublin Core, och refereras med prefixnotation som ger mer läsbara URI-referenser. Notationen innebär att kan förkortas till dc:creator eftersom prefixet dc är definierat som Ett objekt kan vara en URI-referens, en blank nod eller ett värde kallat literal. Ett sådant värde består av en sträng som kan vara märkt med språkinformation eller en URIreferens till en datatyp. I exemplet är URI-referensen och textsträngen porträtt objekt. Figur 3.3: Exempel på användning av blanka noder Reification - satser om satser RDF definierar ett sätt att använda en hel sats som subjekt eller objekt. Detta kan vara användbart t.ex. för att kommentera givna fakta. Att skapa en sådan sats kallas reification. Exempel Det finns ett antal serialiseringsformat för RDF, nedan beskrivs grafen i figur 3.2 i N3 och XML som är två vanliga notationer för att lagra en RDF-graf i en textfil. N3-notation:

19 3.2. Språk för den semantiska webben dc: ex: < ex:enbild.jpg dc:type "porträtt". ex:enbild dc:creator ex:pelle. XML-notation: <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:ex=" <rdf:description rdf:about=" <dc:type>porträtt</dc:type> <dc:creator rdf:resource=" </rdf:description> </rdf:rdf> RDF s vocabulary description language: RDF Schema RDF Schema[11], ofta förkortat RDFS, är ett språk för att beskriva vokabulärer för användning i RDF. Ofta används benämningen RDF Schema tvetydigt, dels för själva språket och dels för de vokabulärbeskrivningar det används för. I denna rapport benämner RDF Schema själva språket. En vokabulär i RDF Schema definieras i sig med RDF. RDF Schema är en W3C-Rekommendation. I RDF Schema talar man om klasser och instanser. En klass är en mängd med instanser, detta förhållande liknar det mellan kategorier och objekt som är vanligt inom teori för kunskapsrepresentation. RDF används för att ange egenskaper för instanser, emellertid är själva egenskaperna godtyckliga från en dators perspektiv betyder de ingenting. RDF Schema är ett verktyg för att kunna beskriva egenskaper och de klasser av instanser som egenskaperna beskriver. Klasser och instanser I RDF Schema finns en generös syn på klasser och instanser, en klass kan vara en instans av sig själv. RDF Schema ger möjlighet att definiera att en klass är en underklass till en annan. Då gäller att om C är en underklass till C så är alla instanser av C också instanser av C. Figur 3.4 visar klasserna Hund och Katt som underklasser till Fyrbenta djur som i sin tur är underklass till Djur. Egenskaper Egenskaper kan tilldelas klasser som definitionsmängd och värdemängd. Definitionsmängden anger de instanser kan ha egenskapen och värdemängden anger de instanser som kan utgöra värdet på egenskapen. I praktiken innebär detta att en RDF-sats som anger en egenskap har ett subjekt från definitionsmängden och ett objekt från värdemängden. Predikatet anger vilken egenskap det är. Egenskaper kan även vara underegenskaper, om P är en underegenskap till P så är alla resurser som är relaterade av P också relaterade av P.

20 12 Kapitel 3. Den semantiska webben och begrepp Figur 3.4: Klasser och instanser i RDF Schema

21 3.2. Språk för den semantiska webben OWL - Web Ontology Language OWL [10] är ett språk för att skapa ontologier baserat på forskningsområdet description logic. Det är indelat i tre varianter, OWL Lite, OWL DL och OWL Full. Skillnaden den emellan är i stort att OWL Lite har färre konstruktioner än OWL DL och OWL Full, samt att OWL Full tillåter konstruktioner som inte ger garanterat beräkningsbara slutledningar. Klasser och instanser Det går att definiera en klass genom att begränsa dess instanser utifrån instansernas egenskaper. Det går att begränsa utifrån antal egenskaper av en viss typ, värdet på en egenskap och att alla eller minst en egenskap ska ha ett värde av en viss typ. Figur 3.5 visar hur en begränsning kan användas för att ange att något är ett fyrbent djur. Djur är en klass med samtliga djur. Begränsning är en klass med två alternativa begränsningar för egenskaper. Det ena alternativet förutsätter att det finns en egenskap harben som anger att något har ett visst ben. Begränsningen kan därmed sättas genom att säga att alla instanser måste ha fyra värden för harben. Det andra alternativet förutsätter att det finns en egenskap antalben som anger hur många ben något har. Begränsningen blir då att alla instanser måste ha värdet 4 för egenskapen antalben, och kan förutom olika djur tänkas innehålla sådant som bord och stolar. På detta vis kan man t.ex. ange att en hund är ett djur och har fyra ben, genom att låta klassen Hund vara en underklass till denna begränsning, samt en underklass till klassen Djur. Klasser kan också definieras med mängdoperationerna snitt, union och komplement. För att ytterligare beskriva en klass kan man ange att en klass är disjunkt med en annan d.v.s. att inga instanser ingår i båda klasserna (se Katt och Hund i figur 3.5). Egenskaper Egenskaper kan utöver värdemängd och definitionsmängd, som går att bestämma i RDF Schema, ges egenskaper som ger större möjlighet till slutledningar. Egenskaper kan vara transitiva, symmetriska, funktioner, inverser av andra egenskaper och inverterade funktioner SKOS - Simple Knowledge Organisation Systems SKOS är en vokabulär för att skapa något som närmast kan sägas vara tesaurer. På en ganska enkel nivå tillåter SKOS begreppsmodellering och hantering av termer. Den viktigaste klassen i SKOS är Concept, begrepp modellerade i SKOS är alla instanser av denna klass. SKOS ger möjlighet att modellera begrepp genom att sätta relationerna bredare, smalare och relaterad. Dessa relationer är ganska lösa, t.ex. bredare-relationen kan men behöver inte betyda att något är en generalisering av något annat. SKOS är ett W3C arbetsutkast. Vidare kan man märka upp ett begrepp med en rekommenderad term, och alternativa termer. Man kan också ge begreppet en formell definition i samma stil som i en vanlig ordlista. Figur 3.6 visualiserar en stor del av de möjligheter som SKOS ger. Figuren innehåller begreppen hund, katt samt fyrfotadjur. Relationerna är märkta enligt prefixnotation för RDF, och är förklarade i figuren.

22 14 Kapitel 3. Den semantiska webben och begrepp Figur 3.5: Klasser och instanser i OWL SKOS definierar något som kallas ett Concept-scheme, vilket är en samling av begrepp. För att sätta ett begrepp i en sådan samling ger man begreppet egenskapen skos:inscheme med samlingen som värde. I en hierarki av begrepp med bredare/smalare relationer kan man i begreppssamlingen länka in toppnoden för att ge datorprogram ett effektivt sätt att hitta dessa. I SKOS finns möjligheter att länka mellan dokument och begrepp, t.ex. att ett dokument har ett begrepp som huvudämne. Vokabulären ger också möjlighet att länka till ett dokument som ger en beskrivning av själva begreppet Slutledning i RDF Givet en RDF-graf, som använder vokabulärer definierade i OWL eller RDFS, med ett antal givna satser, kan det finnas satser som är sanna men som inte är direkt uttryckta. Till exempel om klassen Hund är definierad som en underklass till Djur, och en resurs är en instans av Hund. Satsen som anger att resursen också är en instans av Djur behöver inte vara direkt uttryckt utan kan slutledas utifrån den ontologi som definierar de båda klasserna. En ontologi beskriven i OWL kan ge fler möjligheter till slutledningar Sökning i RDF-grafer SPARQL och RDQL W3C har skapat två språk för att söka i rdf-grafer, SPARQL[13] och dess föregångare RDQL[9]. Båda dessa språk ger möjlighet att matcha mönster i rdf-grafer, men SPARQL ger ytterligare möjligheter för denna matchning och möjligheter att jämföra diverse

23 3.2. Språk för den semantiska webben 15 Figur 3.6: Exempel på möjligheter med vokabulären SKOS

24 16 Kapitel 3. Den semantiska webben och begrepp datatyper. En implementation av SPARQL behöver inte ansvara för slutledningar utifrån ontologier, utan kan förlita sig på att det system som tillhandahåller satserna också utför slutledningar i de fall det är önskvärt. 3.3 Diskussion Eftersom RDFS och OWL ger konstruktioner som verkar passa för begreppsmodellering kan det vara rimligt att använda dessa språk direkt som vokabulär. Alternativet är att utveckla en ny vokabulär för viktiga relationer mellan begrepp RDFS och OWL som vokabulär för begreppsmodellering För modellering av vår kategorisering av företeelser kan man se ett användningsområde för klasser och instanser som används i RDFS och OWL. Den generiska begreppsrelationen skulle kunna beskrivas i RDFS och OWL som en underklassrelation mellan två klasser. Om man vill beskriva begrepp som klasser går det inte genom konstruktioner i RDFS att uttrycka en partitiv begreppsrelation. Om man skapar någon egenskap bestårav som anger att något är en del av något annat kan man i OWL använda begränsningar för egenskaper för att uttrycka en partitiv begreppsrelation. Assoiciativa begreppsrelationer som gäller för klasser bör gå att modellera enligt samma mönster. Kännetecken som inte kan anges med begreppsrelationer kan annoteras enligt något passande mönster i klartext. Om begrepp modelleras i så stor omfattning som möjligt i OWL ges möjligheter till maskinell slutledning. Jag tror att den störsa vinsten med detta är att man får ett stöd under begreppsmodelleringen. Slutledda fakta måste vara rimliga, annars har man gjort något fel i modelleringen. Användbarheten för detta är något som skulle vara intressant att undersöka Speciell vokabulär för begreppsmodellering Ett alternativ som inte ger samma möjligheter till slutledningar är att skapa en vokabulär där man ser begrepp som instanser i RDF och relationer som egenskaper mellan dessa instanser. Detta tillvägagångssätt används i SKOS, och det går att ha mindre fokus på maskinell förståelse och mer på läsbarhet för människor.

25 Kapitel 4 Genomförande 4.1 Behovsanalys I denna del av rapporten redovisas några viktiga faktorer som inverkat på uformningen av begreppsverktyget. En sådan faktor är en liten användarundersökning som genomfördes. Uppdraget bereppshantering på FMV har också haft stor betydelse tillsammans med M&S-portalen där begreppsverktyget ska finnas Användarundersökning Syftet med användarundersökningen var att skaffa värden att utgå från för vad de tänkta användarna kunde ha för problem relaterade till begreppshantering, och hur de ansåg att detta kunde lösas. Metod Användarundersökningen utfördes som löst strukturerade intervjuer med förberedda frågor, för att få ingående svar angående vad ett begreppsverktyg ska användas till. Enligt Preece et al[5] är intervjuer ett bra sätt att få deltagare att utveckla sina svar. Utformningen av frågorna var inte självklar och svår att göra utan att frågorna skulle bli ledande. Frågorna finns som bilaga till rapporten. Resultat Sex personer deltog i intervjuer, vilket får sägas vara i underkant för att dra klara slutsatser. Några grundläggande utgångspunkter kunde ändå identifieras. De som deltog i intervjuerna var från FMV (anställda eller konsulter), totalförsvarets forskningsinstitut och försvarsmakten. Deltagarna använde alla någon sorts intranät eller webbsidor på Internet och e- post. Man upplevde att skilda uppfattningar av ords betydelse var ett verkligt och betydande problem. Det finns några olika ordlistor och motsvarande för en del fackområden, men deltagarna var missnöjda med kvalitén och tillgängligheten på dessa. 17

26 18 Kapitel 4. Genomförande För att hitta begrepp med förklaring ville man först och främst söka genom fritext. Man ville även kunna hitta relaterade begrepp. För ett IT-system för hantering av begrepp fanns önskemål om wiki-funktionalitet att alla ska kunna delta i och komma med förslag i terminologiarbetet. Man vill även ha hjälp med synonymer och homonymer, samt stöd för olika språk främst engelska. För att få en överblick över begreppets betydelse föreslogs en grafisk presentation över dess relationer till andra begrepp. Ett projekt bör kunna skapa en egen katalog över de begrepp man vill använda. I denna katalog ska man kunna definiera egna begrepp. Man vill ha möjligheten att kommentera begreppsdefinitioner, men ändringar av dessa bör genomföras med någon sorts kvalitetskontroll. Begrepssamlingen måste vara aktuell och levande för att man ska använda den och engagera sig i arbetet med att förbättra den. Man är positivt inställd till att ha en integration av begreppshantering i Officeprogram och liknande. Denna integration får inte vara påträngande utan måste vara valbar Uppdraget begreppshantering Uppdraget föreslår en uppdelning av FMV i en hierarki av fackområden, där varje fackområde har och ansvarar för en terminologi. För begreppsverktygets del innebär detta att det ska klara av att hantera flera terminologier, och hierarkisk ordning av terminologier. En informationsmodell för begrepp var under arbetet med begreppsverktyget hela tiden under utveckling, men dess grundläggande principer har varit utgångspunkten vid utformningen av informationsmodellen för begreppsverktyget M&S-portalen Begreppsverktyget ska tillhöra och vara integrerat med M&S-portalen, och därmed passa till det syfte portalen är gjord för. Portalen ska vara en samlingsplats för information och resurser inom området modellering och simulering. Begreppsverktyget ska vara ett stöd för projekt att bygga upp en egen terminologi Slutsatser Utifrån behovsanalysen identifierades några önskvärda funktioner för begreppsverktyget: Sökning efter begreppsbeskrivningar. Det absolut viktigaste är att det är möjligt söka efter begreppsbeskrivningar kopplade till en viss term. Hantering av terminologier. Det är vettigt att säga att varje projekt kan ha en egen terminologi. För att ett projekt självständigt ska kunna bygga upp sin egen terminologi i begreppsverktyget blir hantering av terminologier centralt. Nyhteter. Det bör gå att se vilka nya terminologier och begrepp som senast skapats och de förändringar av terminologier som senast skett.

27 4.2. Informationsmodell för begrepp 19 Figur 4.1: Informationsmodell för begrepp på FMV Kommentarer. Det ska vara möjligt att kommentera olika detaljer i begreppsdatamängden. Möjlighet att länka till begrepp och terminologier. För att begreppsverktyget ska kunna integreras med M&S-portalen måste det gå att skapa URL-länkar som direkt visar upp ett visst begrepp eller en viss terminologi i begreppsverktyget. 4.2 Informationsmodell för begrepp Informationsmodellen som uppdraget för begreppshantering tagit fram baseras på en separation mellan å ena sidan begrepp och beskrivningar av begrepp, och å andra sidan termer, och var och när de används Klasser I informationsmodellen finns ett antal klasser (se också figur 4.1), de viktigaste är beskrivna nedan. Terminologi En terminologi definierar en samling termer och deras användning inom ett visst fackområde. En terminologi kan vara inordnad i en hierarkisk struktur. Terminologipost En terminologipost är kopplad till ett beslut om att använda noll eller fler termer för en viss beskrivning av ett begrepp inom en terminologi.

28 20 Kapitel 4. Genomförande Term En term har ett strängvärde och en språkkod och en eventuell förkortning. Begreppsversion En begreppsversion har ett antal definitionstexter och kommentarstexter som ger en ordlistelik beskrivning av ett begrepp. Begrepp Ett begrepp eller referens enligt Ogdens triangel. Begreppet måste ha en unik identifierare. Begreppsrelation En begreppsrelation anger något förhållande mellan två eller fler begrepp. Underklasser till denna ger information om hur begreppen är relaterade. Instanser av klassen Terminologipost är enhter som ger information om termanvändning med avseende på både fackområde och tidpunkt, då dessa är kopplade till en terminologi som annoterar fackområde och de har giltighetsdatum. Detta är en central klass för hanteringen av problemet med synonymer och homonymer, eftersom den ger en spårbarhet om en term kan kopplas till ett datum och ett fackområde kan antalet möjliga terminologiposter och därigenom möjliga betydelser begränsas. Samtliga termer som är kopplade till en terminologipost kommer att vara synonymer eftersom de följaktligen är kopplade till samma begrepp. Klassen Termanvändning är ett medel för att särskilja eller rangordna sådana synonymer. Denna rangordning ska också kunna användas för homonymer inom en terminologi det är förmodligen en bra regel att undvika att skapa sådana, åtminstone homonymer som inte kan rangordnas efter prioritet. Begrepp kan beskrivas med texter och relationer. En begreppsbeskrivning har målet att få läsaren att förstå vilket begrepp som faktiskt menas. Rent textuella beskrivningar av ett begrepp är viktiga och något som vi är vana att läsa i ordlistor och liknande. Relationer är på en grundläggande nivå inte heller speciellt svåra att förstå i den meningen att ett begrepp är relaterat till ett annat på något sätt. Tidigare i denna rapport under Begreppsmodellering tas olika typer av begreppsrelationer upp: associativ, generisk och partitiv. Dessa relationer finns med i informationsmodellen som specialiseringar av klassen Begreppsrelation. 4.3 Datamodellen för begreppsverktyget Informationsmodellen från uppdraget begreppshantering har stått som grund till datamodellen för begreppsverktyget. Jag valde att endast hantera en delmängd av den information som informationsmodellen för begrepp (figur 4.1) anger för att snabba upp utvecklingen av applikationen, samt för att inte göra den för komplex. Fördelen med att följa informationsmodellen i så stor utsträckning som möjligt är att begreppsverktyget ska kunna använda en tänkt framtida begreppsdatabas med utförligt och noggrant modellerade begrepp, och väl utformade terminologier som skapas i en för FMV bestämd process.

29 4.3. Datamodellen för begreppsverktyget Informationsmodell för begreppsverktyget Instans av klass Egenskap för instans Värde på egenskapen Terminologi benämning sträng ansvarig sträng beskrivning sträng överordnad Terminologi terminologipost Terminologipost Terminologipost startdatum datum slutdatum datum termanvändning Termanvändning begreppsversion Begreppsversion föregående version Terminologipost nästa version Terminologipost Termanvändning prioritet sträng term Term Term etikett sträng språkkod sträng förkortning sträng Begreppsversion kommentarstext Text definitionstext Text Text text sträng språkkod sträng författare sträng Begrepp begreppsversion Begreppsversion Begreppsrelation subjekt Begrepp objekt Begrepp kommentar sträng sträng är en serie tecken och datum är en representation av ett datum. Jämfört med uppdragets för begreppshantering informationsmodell är framför allt de specialiserade begreppsrelationerna borttagna, samt paketet för källhantering Lagring av begreppsdata Begreppsverktyget ska vara tillgängligt som en webbapplikation. Detta innebär att flera användare samtidigt behöver tillgång till datamängden och den ska vara tillgänglig över tid, så det är nödvändigt att lagra denna i en databas. Detta examensarbete skulle inte handla om att designa databasen, och även om det finns flera att välja bland, t.ex. MySQL och PostgreSQL som båda går att använda gratis, lade jag inte ner mycket tid på att fundera. Det blev i slutändan MySQL eftersom det var enkelt att installera på utvecklingsmaskinerna Implementation av informationsmodellen En viktig del av M&S-portalen, en katalog över resurser och information, ska vara tillgänglig som RDF och gå att koppla mot informationen i begreppsverktyget. Det var därför naturligt att använda RDF för att lagra begreppsdata. Att använda RDF gjorde också att det gick att undvika att lägga tid på design av en relationsdatabas.

30 22 Kapitel 4. Genomförande Figur 4.2: Vokabulär för informationsmodellen i RDF RDF vokabulär Jag skapade en vokabulär för att lagra begreppsdata i RDF. Vokabulären är skriven i OWL men den använder få konstruktioner som inte finns tillgängliga i RDF Schema. Utöver denna vokabulär används egenskaper från vokabulärerna för RDF, RDF Schema, SKOS och Dublin Core. Se figur 4.2. Vokabulären är mer eller mindre än översättning från svenska till engelska av de klasser och egenskaper som togs med i informationsmodellen för begreppsverktyget. Det främsta skälet till detta var att undvika URL-strängar med å, ä och ö Kommentarer och nyheter Den inledande användaranalysen antydde att användare kommer att vilja kommentera olika detaljer i begreppssamlingen. Reification är kanske det mest kraftfulla sättet att kommentera en RDF-graf, men i detta fall var inte en sådan uttrycksfullhet nödvändig.

31 4.4. Webbapplikationen 23 Jag valde att skapa en klass Comment, och använda denna tillsammans med några egenskaper från Dublin Core-vokabulären för att länka en kommentarstext till en valbar resurs med en unik URL. Denna kommentarstext är inte samma som egenskapen för ConceptVersion. Resonemanget var detsamma när det gällde att hantera händelser i datamängden, en klass Event används tillsammans med ett datum för att notera att något hänt i datamängden. 4.4 Webbapplikationen Teknisk plattform Webbapplikationen är skriven i Java och använder två externa bibliotek, Jena och Wicket. Den färdiga applikationen kan köras i en applikationsserver för Java servlets, t.ex. Apache Tomcat eller den lättviktiga Jetty. Jena Jena[3] är ett ramverk för hantering av RDF-data som baseras på öppen källkod. Jena, som baseras på Java, innehåller en mängd verktyg för att programmatiskt skapa och navigera i RDF-grafer. Ramverket ger möjlighet att jobba med RDF-grafer i ramminnet eller i en databas, samt att kunna skriva och läsa grafer till och från filer i ett antal serialiseringsformat. Jena innehåller också en moduler för slutledning och att göra SPARQL-sökningar. Wicket Wicket[15] är ett ramverk för utveckling av webbapplikationer i Java. Wicket använder vanliga HTML-dokument för att definiera gränssnittet, och normala Java-klasser för logik. Det som krävs i HTML-dokumentet är en identifierare för de HTML-taggar med innehåll som ska styras av programlogiken. I praktiken består en webbsida som ska genereras av en Java-klass och en HTML-fil. Detta innebär att ändringar rent utseendemässigt på en HTML-sida kan göras helt fristående, så länge de identifierare som refereras av logiken finns kvar, och har samma inbördes hierarki. För mer dynamiska webbsidor finns ett inbyggt stöd för AJAX, det går att på ett enkelt sätt få AJAX-funktionalitet utan att själv behöva skriva JavaScript för klientsidan Programstruktur Webbapplikationen kan i en abstrakt vy delas upp i några lager, se figur 4.3. Översta lagret, gränssnittet i webbläsaren, är enbart byggt i HTML och utseendet modifierat med CSS. Samtliga HTML-filer som används för gränssnittet har som filnamn [klassnamn].html där [klassnamn] är namnet på en Javaklass som innehåller logiken för presentationen och hantering av indata från användaren. Dessa klasser ligger i ett lager som hanterar logiken för gränssnittet. Lagret under logiklagret är ansvarigt för läsning och skrivning till begreppsdatamängden. Detta lager använder Jena via ett API för att manipulera den RDF-graf som rep-

32 24 Kapitel 4. Genomförande Figur 4.3: Uppdelning av programmet i lager resenterar datamodellen för begreppsdatamängden. Jena lagrar i sin tur RDF-grafen i en SQL-databas Gränssnitt i webbläsare Det gick till att börja med att identifiera fyra olika funktioner för begreppsverktyget, vilka fick varsin sektion och en länk i en meny som finns på alla sidor. Dessa sektioner döptes till Sök, Terminologier, Nyheter och Kommentarer. Sök-sektionen delades upp i två undersektioner: Enkel sökning och Utökad sökning. Enkel sökning är en sökning enbart utifrån en sträng som matchas mot de termer som används av terminologierna. Utökad sökning ger möjlighet att ange fler parametrar, det går att välja att endast söka bland vissa terminologier, ange ett datum för vilket termen ska ha en giltig användning samt ange med vilken prioritet som termen ska användas. I sektionen Terminologier finns alla funktioner som har med terminologihantering att göra. Här kan man se en lista över tillgängliga terminologier, och skapa en ny terminologi. I den listningen går det att välja att redigera en viss terminologi. Redigera terminologi är en undersektion till Terminologier och har i sin tur fyra undersektioner. Sektionerna som ligger under Redigera Terminologi är Lista termanvändningar. Här finns en överblick över termanvändningar i terminologin. Härifrån går dett att ändra användningen av ett visst begrepp. Använd nytt begrepp. Denna sida ger möjlighet att skapa ett nytt begrepp och ange dess termanvändning för gällande terminologi.

33 4.4. Webbapplikationen 25 Figur 4.4: Abstrakt struktur för användning av begreppsverktyget Använd befintligt begrepp. Här finns möjlighet att välja ut befintliga begrepp för användning i terminologin. Redigera teminologiinfo. Här går det att ändra information om terminologin. Sektionerna Nyheter och kommentarer är listningar över nyhteter och kommentarer, där den senare också ger möjlighet att lägga till nya kommentarer. Se figur 4.4 för en översikt över uppdelningen i sektioner. Grafisk utformning Jag använde enkla skisser på papper för att komma fram till en grafisk utformning på gränssnittet. På grund av tidsbrist är inte denna utformning fullständigt genomförd. Utformningen baseras på en kolumn och horisontella menyer. Designen använder samma grafiska stomme som M&S-portalen i övrigt, och typsättning av text och liknande är taget från denna. Jag försökte att använda HTML för struktur och CSS för utseende i så stor utsträckning som möjligt Logik för gränssnitt Javaklasserna för detta lager ligger i paketet se.smartlab.concept.webtool. Logiken för gränssnittet använder ramverket Wicket. En webbsida skapas i Wicket genom att utöka klassen WebPage, och skapa en HTML-fil som fungerar som mall för hur webbsidan ska renderas. Dessa klasser kan i sin tur utökas, och därigenom återanvända återkommande HTML-kod och logik. Denna metod används i begreppsverktyget genom att klasser för undersektioner utökar de sektioner de tillhör. Wicket har också klassen Panel som kan utökas. Klasser som utökar Panel måste också ha en tillhörande HTML-fil, och instanser av dessa blir paneler som kan placeras i en webbsida. Denna metod används också av begreppsverktyget för några delar av webbsidor som används av flera webbsidor. Figur 4.5 demonstrerar hur arv och paneler används i begreppsverktyget.

34 26 Kapitel 4. Genomförande Figur 4.5: Klassdiagram för lagret logik för gränssnitt Läsning och skrivning mot datamodell Javaklasserna för detta lager ligger i paketet se.smartlab.concept.io. Den viktigaste klassen för detta lager är ConceptDB. När denna klass instansieras öppnas en modell av begreppsdatamängden i databasen via Jenas API. ConceptDB ger ett antal metoder för att: Skapa nya RDF-resurser utifrån de klasser som är specifierade i vokabulären. Hämta resurser utifrån deras URI. Lista resurser baserat på olika kriterier, t.ex. söka terminologiposter som använder en viss term. För att abstrahera bort RDF-hanteringen från logiken för gränssnittet finns ett antal klasser som representerar datamodellen samt de operationer som måste kunna göras. Denna abstraktion använder ett mönster med klasser som kapslar in de RDF-klasser som används i informationsmodellen. Till många av dessa inkaslingsklasser finns en prototypklass som används för att utbyta den information egenskaperna för varje RDFklass ger. Ett exempel på detta mönster är inkapplingsklassen TerminologyNode och TerminologyPrototype. TerminologyNode har en metod getprototype som returnerar ett objekt av typen TerminologyPrototype och en metod set som tar ett objekt av typen TerminologyPrototype. TerminologyPrototype har fyra strängvärden, description, owner, label och parent, med get- och set-metoder enligt Javas standardmönster. Metoden getprototype hämtar från den RDF-grafen de egenskaper som hör till den terminologi som kapslas in av TerminologyNode och lägger dem i den TerminologyPrototype som ska returneras. Metoden set sätter egenskaperna för inkapslad terminologi. Konventionen är att egenskaper som inte existerar vid getprototype och de egenskaper som inte ska sättas av set representeras i ett prototypobjekt som null. Egenskaper som innebär en referens till en annan resurs i RDF-grafen representeras i en del fall som en sträng med resursens URI. I andra fall ges för bekvämlighetens skull en prototyp av den andra resursen.

35 4.4. Webbapplikationen Åtkomst till begreppsdatamängden från andra program Eftersom datamängden är i RDF, går det på ett enkelt sätt att skapa en webbtjänst som utför och returnerar resultatet från SPARQL-sökningar. Detta ger frihet för t.ex. att skapa ett program för referensinformation i Microsoft Office där man kan söka i begreppsdatamängden från alla möjliga perspektiv.

36 28 Kapitel 4. Genomförande

37 Kapitel 5 Resultat Begreppsverktyget är designat för att integreras i M&S-portalen, och har därför utvecklats med en bassida som Curalia, webbyrån som utvecklar portalen, tillhandahöll. 5.1 Sökning Sökning efter begrepp görs framför allt genom att matcha termer och deras användningar utifrån olika kriterier. Sökningen utförs enligt konventionen att när en sökparameter inte angetts så utgör den ingen begränsning för resultatet Enkel sökning Under avdelningen enkel sökning (se figur 5.1) går det bara att söka efter termer som matchar den söksträng man skriver in. De begreppsversioner som är kopplade till matchande termer letas fram och representeras med en definitionstext. Samtliga termer som är kopplade till begreppsversionen listas till vänster. Länken Välj går till en sida som visar mer utförlig information om begreppsversionen. Om ingen sökstränganges kommer samtliga begreppsversioner att listas Utökad sökning Avdelningen utökad sökning (se figur 5.2) ger möjlighet till att ange fler parametrar. Det går att välja inom vilka terminologier som termen ska användas, och ett datum för när termen ska ha en giltig användning. Utöver detta går det att ange vilken prioritet termen ska användas med. 5.2 Terminologier Figur 5.3 visar hur terminologier listas. I denna vy kan man välja att redigera eller kommentera en terminologi. Det går också att skapa en ny terminologi Ny terminologi En ny terminologi skapas genom att man ger den ett namn, en ägare och en beskrivning. Det går även att ange att en terminologi är en underterminologi till en annan genom 29

38 30 Kapitel 5. Resultat Figur 5.1: Enkel sökning Figur 5.2: Utökad sökning

39 5.2. Terminologier 31 Figur 5.3: Listning av terminologier Figur 5.4: Skapa ny terminologi

40 32 Kapitel 5. Resultat Figur 5.5: Termanvändning för terminologi att välja Ange förälder, se figur Redigera terminologi Figur 5.5 visar den vy som kommer upp när man väljer att redigera en terminologi. Här listas de termanvändningar som utgör terminologin. Terminologins namn och beskrivning visas i alla vyer som används för att redigera en viss terminologi. Vyn för att skapa ett nytt begrepp för användning i en terminologi (figur 5.6) kräver vissa omstruktureringar i användargränssnittet för att vara lättanvänd. Här kan man skriva in en definitionstext och kommentarstext och man kan lägga till relaterade begrepp och termer som ska benämna begreppet. För att använda ett befintligt begrepp finns en vy som är likadan som utökad sökning. Här kan man välja ett begrepp, och komma till en vy (figur 5.7) där man bestämmer vilka termer som ska användas för detta. Denna vy används också för att ändra termanvändningar som redan lagts till i en terminologi. Redigera terminologiinformation görs i ett gränssnitt som liknar det för att lägga till en ny terminologi. 5.3 Nyheter och kommentarer Nyheter är en listning på viktiga händelser i begreppsdatamängden, i figur 5.8 kan man se att en ny terminologi samt en ny begreppsversion skapats. Figur 5.9 visar upp kommentarssystemet. Detta är av en enkel typ, antagligen är det bättre att integrera kommentarerna i det forum som kommer att finnas på M&Sportalen.

41 5.3. Nyheter och kommentarer 33 Figur 5.6: Termanvändning för terminologi Figur 5.7: Redigera termanvändning

42 34 Kapitel 5. Resultat Figur 5.8: Nyheter Figur 5.9: Kommentarssystemet

43 5.4. Visa begrepp Visa begrepp Figur 5.10: Information om ett begrepp För en utförligare förklaring av ett begrepp finns en vy som visar den mesta information som rör ett begrepp. Se figur Denna visning går också att lägga till som bokmärke, eller skapa direkta länkar till.

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

Europeana Data Model vad, varför och hur

Europeana Data Model vad, varför och hur Europeana Data Model vad, varför och hur Fagdag om modellering hos Riksantikvaren 2014-03-07 Hannes Ebner hannes@metasolutions.se Innehåll 1. 2. 3. 4. 5. 6. 7. Bakgrund / Varför EDM? Nyckelegenskaper

Läs mer

Manual HSB Webb brf 2004 03 23

Manual HSB Webb brf 2004 03 23 TERMINOLOGI I Polopoly används ett antal grundläggande begrepp för publicering och hantering av information, eller innehåll som det också benämns. Nedan följer en kort genomgång av denna grundläggande

Läs mer

Introduction to the Semantic Web. Eva Blomqvist

Introduction to the Semantic Web. Eva Blomqvist Introduction to the Semantic Web Eva Blomqvist eva.blomqvist@liu.se Outline The original vision Meaning of data Current applications Revisiting the vision and looking ahead Scientific American, May 2001:

Läs mer

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

Olle Olsson. SICS (  ) W3C (  )  ) BeyondIT Page 1 Olle Olsson (olleo@sics.se, olleo@w3.org ) SICS (http://www.sics.se ) W3C (http://www.w3.org ) BeyondIT-061121 Page 1 Var har vi varit? Var är vi? Vart kommer vi att vara på väg? BeyondIT-061121 Page 2

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

Utveckling av ett grafiskt användargränssnitt

Utveckling av ett grafiskt användargränssnitt Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML Begreppsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Begreppsbildning Syfte: Begreppsbildning syftar till att hjälpa oss att bortse från oväsentligheter genom att

Läs mer

Axalon Process Navigator SP Användarhandledning

Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP 2013, senast reviderad: den 11 juni 2014 Innehåll Innehåll... 2 Om denna användarhandledning... 3 Syfte... 3 Vem är denna handledning

Läs mer

behövs för enhetlighet, tala samma språk, så att användaren kan lära sig och använda det vidare.

behövs för enhetlighet, tala samma språk, så att användaren kan lära sig och använda det vidare. 1 2 3 Grafisk profil reglerar grunddragen i utseendet (logga, färger, typsnitt) en helhet skapas Vi ska känna igen oss, vi ska förstå vad som avsändaren vill kommunicera. Kan vara svårt att direkt applicera

Läs mer

Datorer och kunskap - Den semantiska webben Robert Herber

Datorer och kunskap - Den semantiska webben Robert Herber Datorer och kunskap - Den semantiska webben Robert Herber rhr08001@student.mdh.se Vetenskapsmetodik, CDT212 Mälardalens Högskola 2010-03-05 1 Sammanfattning Denna rapport behandlar nästa steg i Internets

Läs mer

Internets historia Tillämpningar

Internets historia Tillämpningar 1 Internets historia Redan i slutet på 1960-talet utvecklade amerikanska försvaret, det program som ligger till grund för Internet. Syftet var att skapa ett decentraliserat kommunikationssystem som skulle

Läs mer

Frågor och svar till tentamen i Kravhantering

Frågor och svar till tentamen i Kravhantering Frågor och svar till tentamen i Kravhantering Del 1 Frågor & svar Frågor&svar till tentamen 1 Datamodeller (0.5p) När man tar fram data krav skriver Lausen i sin bok, gällande data modeller, att det finns

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Analys av BI-system och utveckling av BIapplikationer

Analys av BI-system och utveckling av BIapplikationer Computer Science Fredrik Nilsson, Jonas Wånggren Daniel Strömberg Analys av BI-system och utveckling av BIapplikationer Opposition Report, C/D-level 2005:xx 1 Sammanfattat omdöme av examensarbetet Vi tycker

Läs mer

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML Begreppsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Begreppsbildning Syfte: Begreppsbildning syftar till att hjälpa oss att bortse från oväsentligheter genom att

Läs mer

Råd gällande vokabulärer för kommuners och landstings arbete med länkade öppna data

Råd gällande vokabulärer för kommuners och landstings arbete med länkade öppna data UTKAST Råd gällande vokabulärer för kommuners och landstings arbete med länkade öppna data Nationellt ramverk för öppna data Peter Krantz AB Innehållsförteckning 1. Nationellt ramverk för öppna data...

Läs mer

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215/TIG091

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215/TIG091 TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215/TIG091 DAG: 5 mars, 2012 TID: 8.30 12.30 SAL: Hörsalsvägen Ansvarig: Olof Torgersson, tel. 772 54 06. Institutionen för tillämpad informationsteknologi.

Läs mer

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Innehåll Inledning... 3 Ord och uttryck... 4 Processmodeller... 5 Vad är en processmodell?... 5 Hur används processmodeller

Läs mer

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0 Arkitektur och Regelverk Definition av kodverk och klassifikation Version 1.0 Innehållsförteckning 1. Inledning... 3 2. Definitioner... 3 Referenser och underlag... 5 Revisionshistorik Version, datum Författare

Läs mer

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

Läs mer

E-pliktleverans via RSS-feeds

E-pliktleverans via RSS-feeds E-pliktleverans via RSS-feeds Referens till detta dokument: http://www.kb.se/namespace/digark/deliveryspecification/deposit/rssfeeds/ 1 Ändringshistorik a element måste nu först komma i given ordning (anpassning

Läs mer

Övningshäfte 3: Funktioner och relationer

Övningshäfte 3: Funktioner och relationer GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2014 INLEDANDE ALGEBRA Övningshäfte 3: Funktioner och relationer Övning H Syftet är att utforska ett av matematikens viktigaste begrepp: funktionen. Du har

Läs mer

Systembeskrivning.

Systembeskrivning. KTH Institutionen för Numerisk Analys och Datalogi Systembeskrivning RedInc www.nada.kth.se/projects/prom03/redinc Uppdragsgivare: Projektmedlemmar: Harald Kjellin Daniel Oscarsson Rikard Laxhammar Tommy

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

Henrik Häggbom Examensarbete Nackademin Våren 2015

Henrik Häggbom Examensarbete Nackademin Våren 2015 AV Henrik Häggbom Examensarbete Nackademin Våren 2015 1 INLEDNING Som examensarbete på min utbildning på Nackademin Programutveckling.NET kommer jag skapa ett webbaserat system för statistik, tabeller

Läs mer

Riktlinjer för styrdokument

Riktlinjer för styrdokument Riktlinjer för styrdokument Fastställt av: Kommunfullmäktige Datum: 2014-12-15, 135 Diarienummer: 2014-000378 För revidering ansvarar: Kommunchef För eventuell uppföljning och tidplan ansvarar: Kommunchef

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Råd gällande beständiga länkar

Råd gällande beständiga länkar UTKAST Råd gällande beständiga länkar Nationellt ramverk för öppna data Peter Krantz AB Innehållsförteckning 1. Nationellt ramverk för öppna data... 2 1.1. Råd gällnade beständiga länkar... 2 1.2. Vem

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

Terminologins terminologi: begreppsdiagrammen

Terminologins terminologi: begreppsdiagrammen Terminologins terminologi: sdiagrammen Förord Terminologins terminologi: sdiagrammen är en samling av sdiagram som åskådliggör relationer mellan alla som finns i Terminologins terminologi: ordlistan. Förklaringar

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc. Microsoft Expression Blend + Sketch Flow Microsoft Expression Blend + Sketch Flow Grafisk utvecklingsmiljö Interaktiva applikationer för dator (WPF) och web (Silverlight) Färdiga byggstenar Hela produktioner:

Läs mer

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

Läs mer

PROV. 13 JSP Standard Tag Library

PROV. 13 JSP Standard Tag Library 13 JSP Standard Tag Library 13.1 Bibliotek med nya JSP-kommandon 13.2 JSP Standard Tag Library (JSTL) 13.3 Filstruktur för webbapplikationer med JSTL 13.4 Deklaration av JSP-kommandon 13.5 Lägga till biblioteksfiler

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Webbtillgänglighet. Webbtillgänglighet. World Wide Web Consortium. Web Accessibility Initiative, WAI WCAG 2.0 WCAG 1.0

Webbtillgänglighet. Webbtillgänglighet. World Wide Web Consortium. Web Accessibility Initiative, WAI WCAG 2.0 WCAG 1.0 Webbtillgänglighet Webbtillgänglighet Att göra webbinnehåll så att de är tillgängliga för alla oavsett vilka funktionsnedsättningar man har Att göra webbinnehåll tillgängligt oavsett vilken in- och utmatningsutrustning

Läs mer

Riktlinjer för bedömning av examensarbeten

Riktlinjer för bedömning av examensarbeten Fastställda av Styrelsen för utbildning 2010-09-10 Dnr: 4603/10-300 Senast reviderade 2012-08-17 Riktlinjer för bedömning av Sedan 1 juli 2007 ska enligt högskoleförordningen samtliga yrkesutbildningar

Läs mer

En ansats till behovsstyrd applikationsutveckling

En ansats till behovsstyrd applikationsutveckling Datavetenskap Opponenter: Daniel Mester Pirttijärvi Hampus Skystedt Respondent: Johan Björlin En ansats till behovsstyrd applikationsutveckling Oppositionsrapport, C-nivå 2011:05 1 Sammanfattat omdöme

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.

Läs mer

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1. UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1

Läs mer

Geodataportalen - Metadata - Dokumentation av tjänster

Geodataportalen - Metadata - Dokumentation av tjänster PM 1(13) Geodataportalen - Metadata - Dokumentation av tjänster Organisation Postadress Besöksadress Telefon E-post Internet Lantmäteriet 801 82 Gävle Lantmäterigatan 2 0771-63 63 63 geodatasekretariatet@lm.se

Läs mer

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg Introduktion till kursbyggarverktyg Contento Svenska AB Hornsgatan 103 117 28 Stocholm Table of Contents KAPITEL 1 Introduktion 2 Begrepp

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Med koppling till EmiWeb

Med koppling till EmiWeb Datavetenskap Opponent(er): Jonas Brolin Mikael Hedegren Respondent(er): David Jonsson Fredrik Larsson Webbaserad släktträdsmodul Med koppling till EmiWeb Oppositionsrapport, C/D-nivå 2005:xx 1 Sammanfattat

Läs mer

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll En allmän inledning Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Komponenter i Calligra.................................. 5 1.2 Översikt över funktioner i

Läs mer

Nationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning

Nationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning Nationell Informationsstruktur 2015:1 Bilaga 7: Arkitektur och metodbeskrivning Innehåll Nationell informationsstruktur arkitektur och metod... 3 Standarder inom informatik... 3 NI relaterat till ISO 42010...

Läs mer

Dialogue Technologies April 2005

Dialogue Technologies April 2005 Dialogue Technologies April 2005 En typisk självbetjäningstjänst för web ser ut enligt följande En inledande text för att användaren skall förstå tjänsten En aktuell lista med de 10 vanligast frågorna

Läs mer

Metadata i e-pliktleveranser

Metadata i e-pliktleveranser ANTAL SIDOR 1(10) Metadata i e-pliktleveranser Referens till det här dokumentet: http://www.kb.se/namespace/digark/metadataintro/v1/ ANTAL SIDOR 2(10) 1. Inledning Detta dokument vänder sig till leverantörer

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Sö ka litteratur i ERIC

Sö ka litteratur i ERIC 1 Sö ka litteratur i ERIC Det finns två ingångar om man vill söka i databasen ERIC: Via webben gratis version från the Education Resources Information Center: Denna version kan vara bra att känna till

Läs mer

Användarmanual för Content tool version 7.5

Användarmanual för Content tool version 7.5 Användarmanual för Content tool version 7.5 TM WEB Express AB Manual Content tool 7.5 Sid 2 INNEHÅLLSFÖRTECKNING 1 OM PUBLICERINGSVERKTYGET... 3 1.1 ALLMÄNT... 3 2 ÖVERSIKT... 3 3 ALLMÄNT OM WEBBSIDAN

Läs mer

LÄRARHANDLEDNING TILLGÄNGLIGA WEBBSIDOR

LÄRARHANDLEDNING TILLGÄNGLIGA WEBBSIDOR UPPDRAGSGIVARE: IT-CENTER VÅR REFERENS: STEFAN JOHANSSON TEL.: 0708-23 10 64 E-POST: stefan.johansson@funkanu.se INNEHÅLL: LÄRARHANDLEDNING TILLGÄNGLIGA WEBBSIDOR _ Funka Nu AB Finnbodavägen 2, 131 31

Läs mer

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Kravhantering / Testprocess - Agenda AGENDA Grundläggande kravhanteringsprocess. Insamling, dokumentation, prioritering, Test och förvaltning

Läs mer

Presentationsprogram - Kravspecifikation. Henrik Österdahl och Jenny Melander, D mars 2002

Presentationsprogram - Kravspecifikation. Henrik Österdahl och Jenny Melander, D mars 2002 Presentationsprogram - Kravspecifikation Henrik Österdahl och Jenny Melander, D-01 18 mars 2002 1 Innehåll 1 Inledning 3 1.1 Mål................................... 3 1.2 Omfattning...............................

Läs mer

Projektuppgift.

Projektuppgift. Projekt Projektuppgift Designa och implementera ett webbaserat gränssnitt för att söka information i en befintlig databas. Webssidan ska vara komplett med navigering, överblick, sökning och strukturerad

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom

Läs mer

Synkronisering av kalenderdata

Synkronisering av kalenderdata Datavetenskap Jonas Lindelöw, Richard Löfberg Sten Hansson Bjerke, Anders Friberg Synkronisering av kalenderdata Oppositionsrapport, C/D-nivå 2006:07 1 Sammanfattat omdöme av examensarbetet Vi tycker att

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Utveckling av simulator för ärendehanteringssystem

Utveckling av simulator för ärendehanteringssystem Datavetenskap Opponent(er): Emil Danielsson & Patrik Lundberg Respondent(er): Niclas Hanold & Samiar Saldjoghi Utveckling av simulator för ärendehanteringssystem Oppositionsrapport, C/D-nivå 2005:xx 1

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

IRM som stöd för kunskapsutbyte i organisationer. Kristina Groth, KTH Pär Lannerö, Metamatrix

IRM som stöd för kunskapsutbyte i organisationer. Kristina Groth, KTH Pär Lannerö, Metamatrix IRM som stöd för kunskapsutbyte i organisationer Kristina Groth, KTH Pär Lannerö, Metamatrix Bakgrund - projekt Ask-Me föreslå och utvärdera tekniker som stödjer kunskapsutbyte fokus på alternativ till

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

DATALAGRING. Ämnets syfte

DATALAGRING. Ämnets syfte DATALAGRING Ämnet datalagring behandlar hur lagring av data görs på ett strukturerat sätt för att datorprogram ska komma åt data på ett effektivt sätt. Lagringen kan ske med hjälp av databashanterare av

Läs mer

SICS Swedish Institute of Computer Science

SICS Swedish Institute of Computer Science Ivan Herman !"# #"$%#&''( 2008 W3C SICS Swedish Institute of Computer Science (2) Nationellt forskningsinstitut FoU inom informations- och kommunikationsteknologier (IKT) Mål: Bedriva avancerad

Läs mer

extensible Markup Language

extensible Markup Language Datavetenskap Opponenter: Björn Olsson Andreas Svensson Respondenter: Sanaa Al-abuhalje Afrah Al-abuhalje XML extensible Markup Language Oppositionsrapport, C-nivå 2007:06 1 Sammanfattat omdöme av examensarbetet

Läs mer

Föreläsning 6: Analys och tolkning från insamling till insikt

Föreläsning 6: Analys och tolkning från insamling till insikt Föreläsning 6: Analys och tolkning från insamling till insikt FSR: 1, 5, 6, 7 Rogers et al. Kapitel 8 Översikt Kvalitativ och kvantitativ analys Enkel kvantitativ analys Enkel kvalitativ analys Presentera

Läs mer

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental. Lunds tekniska högskola Datavetenskap Lennart ndersson Föreläsningsanteckningar EDF10 4 Mängder 4.1 Motivering Mängden är den mest grundläggande diskreta strukturen. Nästan alla matematiska begrepp går

Läs mer

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator

Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator version 2014-09-10 Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator Studentens namn Handledares namn Examinerande

Läs mer

http://office.microsoft.com/sv-se/word/ha100444731053.aspx

http://office.microsoft.com/sv-se/word/ha100444731053.aspx 1. Öppna Word 2007 i 97-2003 2. Vilken Explorer har jag 3. Inloggning med Explorer 8 4. Sökväg till sidan 5. Ha två fönster öppna 6. Stilar 7. Storleksändra 8. Inklistring av text 9. Bilder till startsidan

Läs mer

Pass 3: Metadata. Svensk nationell datatjänst, SND BAS Online

Pass 3: Metadata. Svensk nationell datatjänst, SND BAS Online Pass 3: Metadata Funktioner hos metadata Den här presentationen kommer att ta upp olika funktioner som metadata kan ha. Jag kommer också visa att det finns olika typer av metadata beroende på vilken funktion

Läs mer

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet Filosofisk logik Kapitel 15 Robin Stenwall Lunds universitet Dagens upplägg Första ordningens mängdlära Naiv mängdlära Abstraktionsaxiomet (eg. comprehension) Extensionalitetsaxiomet Små mängder Ordnade

Läs mer

En bortsprungen katt

En bortsprungen katt Nivå 1 All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. En bortsprungen katt

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Tillämpad programmering CASE 1: HTML. Ditt namn

Tillämpad programmering CASE 1: HTML. Ditt namn Tillämpad programmering CASE 1: HTML Ditt namn 18 [HTML] Din handledare vill se din skicklighet i att använda HTML-koden. Du ska utveckla en webbplats om ditt intresse, inriktning eller gymnasiearbete.

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer