Analisi e confronto di RuleML e R.I.F. Di Marco Andolfo Matr. 0000232246 Semantic Web Evoluzione all’interno del Web – Le informazioni non sono più lette solamente dagli utenti – Al contrario vengono lette, elaborate ed interpretate dai sistemi diversi per creare conoscenza Nascita del termine Semantic Web per indicare un’architettura in cui: – – – – I dati sono interpretati utilizzando una teoria Si creano connessioni logiche i tra sistemi Le informazioni sono reperite in base ad un contesto Grande dinamicità e flessibilità in ambienti eterogenei Semantic Web Tecnologie sfruttabili – XML,RDF, URI e URL per descrivere le risorse – Progetto di sistemi sulla base di quelli prodotti in IA – Uso di agenti software Come rappresentare la conoscenza – Mediante le ontologie per studiare un dominio – Uso di regole nello scambio di informazioni MA – Ogni sistema è legato ad una tecnologia di un vendor – Le regole hanno rappresentazioni diverse – Problemi nel garantire l’interoperabilità Soluzione Soluzione – Uso di XML per rappresentare le regole – Nascita di iniziative per promuovere un formato di rappresentazione comune – Non si deve essere legati ad una tecnologia specifica – Il formato garantisce lo scambio di informazioni – Evita soluzioni ad hoc Iniziative principali – Rule Markup Language (RuleML) – Rule Interchange Format (R.I.F.) Casi d’uso e scenari di RuleML e R.I.F. Casi d’uso individuati – Supporto alle ontologie – Scambio di regole tra sistemi e-commerce per negoziazioni e transazioni – Scambio e definizione di preferenze e politiche tra i sistemi Confronto tra i casi d’uso dei due formati – Quelli di RuleML sono più generali – Quelli di R.I.F. sono più specifici – RuleML specifica il suo utilizzo negli agenti software Dai casi d’uso alle regole I casi d’uso permettono di individuare le seguenti tipologie di regole – – – – – Integrity Rule Reaction Rule Production Rule Derivation Rule Fatti RuleML e R.I.F hanno il proprio modo di rappresentarle RuleML Iniziativa promossa da un gruppo di ricercatori Linguaggio di markup aperto che integra XML, RDF e URI La rappresentazione delle regole è indipendente dalla tecnologia di un vendor Sono supportate le principali tipologie di regole legate da una relazione gerarchica La sintassi delle regole è rappresentata con l’utilizzo di tag XML appositi RuleML Architettura – Gerarchia composta da 12 sottolinguaggi – Cuore dell’architettura in Datalog e nelle sue varianti – Si possono aggiungere sottolinguaggi futuri Sintassi – Astratta: il più generica possibile – Concreta: a carico di una specifica implementazione – La sintassi concreta specializza quella astratta Supporta molte logiche tra le quali Horn e FOL Supporta la negazione weak e strong RuleML Rappresentazione delle regole – Ogni tipologia ha una sua rappresentazione – Tag <head> e <body> per rappresentare testa e corpo – In più sono supportate relazioni di equivalenza, funzioni logiche, equazioni – Supporto ai tipi di dato XML (decimal, int, string…) RuleML Implementazioni – Pochissime in quanto non ancora sviluppato del tutto – Esiste uno stylesheet XSLT per trasformare i documenti XML/RuleML – Estensioni per supportare Gli oggetti OWL (linguaggio web per le ontologie) FOL – Contribuzione alla nascita di nuovi markup language R.I.F. Promosso dal W3C – Progetto articolato in Fase 1 e Fase 2 Deve garantire la massima flessibilità per far interoperare i sistemi Prevede l’utilizzo di XML, RDF, URI e tipi di dato XML Architettura – Gerarchia di linguaggi – Cuore nel Core a cui si aggiungono estensioni per realizzare nuovi dialetti R.I.F. Logiche – – – – Il Core supporta solo Horn Le altre logiche sono a carico delle estensioni Analogo discorso per la negazione Multi-sorted: ogni simbolo può assumere più significati (per il Core solo tipi primitivi XML) Rappresentazione delle regole – Coperte tutte le tipologie grazie alle estensioni – Nel Core si rappresenta solo il corpo – La testa e la sua interpretazione è lasciata ai dialetti R.I.F. Condition Language – – – – – Linguaggio su cui si basa il Core Si concentra sulla parte condizionale delle regole Base comune dei dialetti Sintassi astratta e concreta (ancora da definire) Permette di esprimere implicazioni, atomi, congiunzioni e disgiunzioni tra atomi, costanti, variabili ed equivalenze Fase 2 (non ancora ultimata) – Definisce le specifiche ed i tipi di estensioni – Previste estensioni per negazione, FOL, OWL… Confronto tra RuleML e R.I.F. Entrambi hanno un’architettura gerarchica – In RuleML è più specifica perché basata su Datalog – In R.I.F. è più di alto livello (Core ed estensioni) Entrambi integrano XML,RDF e URI per essere utilizzati nel Web Supportano diverse logiche – R.I.F. Core solo Horn il resto alle estensioni Supportano le principali tipologie di regole – In R.I.F. bisogna avere dialetti che estendono Condition Language Confronto tra RuleML e R.I.F. Rappresentazione delle regole – – – – In RuleML si rappresenta sia la testa che il corpo Nel Core solo il corpo e la testa alle estensioni Molte analogie nei tag RuleML più sviluppato rispetto al Core Procedimenti di risoluzione – In RuleML quello di Datalog – In R.I.F. del tipo then :- if (condizione positiva) Implementazioni – Scarse per RuleML e nessuna per R.I.F. Bibliografia “The Semantic Web “ di Tim Berners-Lee, James Hendler e Ora Lassila, Maggio 2001 “The Semantic Web Revisited” di Nigel Shadbolt, Wendy Hall e Tim Berners-Lee, 2006 Sito ufficiale di RuleML: www.ruleml.org Sito ufficiale di R.I.F. : http://www.w3.org/2005/rules/ “Design Rationale of RuleML: A Markup Language for Semantic Web Rules” di Harold Boley, Said Tabet2 e Gerd Wagner “RIF Core Design W3C Working Draft” 30 March 2007 (http://www.w3.org/TR/rif-core) “How to Design a General Rule Markup Language” di Gerd Wagner “RIF Use Cases and Requirements” W3C Working Draft 10 July 2006