SlideShare a Scribd company logo
1 of 35
Coupling Semantic MediaWiki with 
MASTRO 
Student: Albin Ahmeti 
Advisor: Prof. Maurizio Lenzerini 
Master thesis 26/01/2011
Outline 
• Mediawiki 
•Semantic Mediawiki (SMW) 
• Coupling SMW with MASTRO 
•SMWQuonto Control Panel 
• Conclusion 
• Future work 
Coupling SemanticMediaWiki with MASTRO 2
MediaWiki 
• MediaWiki (abbr. MW) is a free server-based software, licensed under the 
GNU General Public License, which runs Wikipedia 
• It has been widely used in a lots of companies as a content-management 
system, it provides fast page processing and short request time 
• PHP & Mysql in backend 
• It manages content mirroring, concurrent and conflicting page edits 
between users 
• The articles in Wikipedia are consisted of wiki text, which is actually, a 
bunch of plain text and a kind of lightweight markup language 
Coupling SemanticMediaWiki with MASTRO 3
MediaWiki (cont.) 
• Creating pages is simplified to minimum, one has just to type “[[Title]]” 
and then type the content, e.g. creating a wiki page titled “Rome”, 
[[Rome]] 
Coupling SemanticMediaWiki with MASTRO 4
MediaWiki (cont. ) 
• It distinguishes between pages using namespaces 
• Main: 
• User: 
• Help: 
• Talk: 
• Usage of templates: 
• Transclusion -> {{Template name}} 
• Substitution -> {{subst:Template name}} 
Coupling SemanticMediaWiki with MASTRO 5
Semantic MediaWiki 
• Semantic MediaWiki (abbr. SMW) is the most popular platform to date 
that encodes semantic data to the wiki articles 
• Introduces some basic syntax, a sort of metadata that is machine 
processable for each of the page constructs (link types) 
• SMW is built on top of MediaWiki (MW), it has been developed using 
the same technology as MW, i.e. tight coupling 
Coupling SemanticMediaWiki with MASTRO 6
Semantic MediaWiki 
• Annotation of pages 
Is page-centric oriented: 
 Categories 
 Properties 
 Attributes 
Coupling SemanticMediaWiki with MASTRO 7
Semantic MediaWiki 
•Categories 
 Are used to classify pages for better retrieval and organization 
 Correspond to Classes in OWL DL 
[[Category:City]] [[Category:Holy cities]] 
•Sub-categories 
 Same notation, but defined in the namespace Category: 
 Class inclusion in OWL DL -> Intensional knowledge 
 Holy Cities ⊑ City 
Coupling SemanticMediaWiki with MASTRO 8
Semantic MediaWiki 
• Properties 
 Link types (relations) between wiki pages, i.e. hyperlinks 
 Correspond to OWL Object Property 
Rome is capital of [[Italy]] 
Rome is capital of [[capital of::Italy]] 
• Subproperties 
 are defined in the namespace Property: 
 [[subproperty of::Property:Located In]] 
 capital of ⊑ Located In 
Coupling SemanticMediaWiki with MASTRO 9
Semantic MediaWiki 
•Attributes 
 Relations between a wiki page and a datatype 
Rome has population 2,700,000. 
Rome has population [[population::2,700,000]] 
A property can be changed to an attribute, by giving a meaningful datatype 
in Property namespace: 
[[Has type::number]] 
Attributes in wiki pages correspond to OWL Data Type Property, Annotation 
Property and Object Property 
Coupling SemanticMediaWiki with MASTRO 10
Semantic MediaWiki 
•Querying in SMW (inline queries) 
{{#ask: [[Category:City]] [[Located in::Italy]] 
|?Population 
|?Area 
|sort=Population, Area 
|order=descending, ascending 
}} 
Coupling SemanticMediaWiki with MASTRO 11
Semantic MediaWiki 
{{#ask: [[Category:Student]][[degree::!Sapienza]] [[age::>24]][[age::<30]] 
|?name 
|?surname 
|?age 
}} 
CWA -> easy to evaluate 
OWA -> not easy to evaluate, ontology does not have complete information 
Coupling SemanticMediaWiki with MASTRO 12
Semantic MediaWiki 
• Architecture of SMW 
Coupling SemanticMediaWiki with MASTRO 13
Semantic MediaWiki 
SMW has 
• rather limited expressivity 
• no disjoint classes 
• no disjoint properties 
• no functionalities 
• no inverses 
• query language that does not allow joins and explicit variables 
What, if we add more expressivity and keep the reasoning tasks (query answering) polynomial 
? 
Coupling SemanticMediaWiki with MASTRO 14
Our approach 
•We use QuOnto as a reasoner 
• Use expressivity of DL-Lite, reasoning tasks are polynomial wrt to the size 
of the ontology: 
 query answering 
 subsumption 
 ontology satisfiability 
 instance checking 
• Use Union of Conjunctive Queries (UCQs) for posing queries 
 can express joins 
 allow variables 
 coincide with SELECT-PROJECT-JOIN SQL queries 
 LOGSPACE wrt to the data complexity 
Coupling SemanticMediaWiki with MASTRO 15
Our approach 
• DL-Litecore 
B → A | ∃R R → P | P − 
C → B | ¬B E → R | ¬R 
B ⊑ C 
A denotes an atomic concept, P an atomic role and P − its inverse. 
B denotes a basic concept, R is a basic role 
A(a) P (a, b) 
DL-LiteF 
(funct R) 
DL-LiteR 
R ⊑ E 
Coupling SemanticMediaWiki with MASTRO 16
Our approach 
•Architecture 
Coupling SemanticMediaWiki with MASTRO 17
Exploration vs. Exploitation 18
Our approach 
Besides, we added four types of assertions, not available in SMW: 
Coupling SemanticMediaWiki with MASTRO 19
Our approach 
Coupling SemanticMediaWiki with Mastro 20
Our approach 
DL-Lite vs OWL DL interpretation of SMW annotations 
Coupling SemanticMediaWiki with MASTRO 21
Our approach 
•Query translation 
• query translation from #ask to function free positive LP (logic 
programming) rules, obtaining minimal Herbrand model 
semantics in the process, based on JieBao et al. (captures 
SMW 1.4.2) 
 n-ary predicates removed 
 Adjustments (tunings) to deal with latest SMW 1.5.x 
(mainly code-based) 
Coupling SemanticMediaWiki with MASTRO 22
Our approach 
•Query translation 
Translation from SMW-QL to Logic Program, as defined in the paper 
“Knowledge Representation and Query in Semantic MediaWiki: A Formal Study”-JieBao et al. 
Coupling SemanticMediaWiki with MASTRO 23
Our approach 
•Query translation 
1) map query annotations to Logic counterparts (based on schema) 
2) Replace body atoms 
3) Perform Depth-First-Search on rules 
Coupling SemanticMediaWiki with MASTRO 24
Our approach 
•Query translation 
{{#ask: [[Category:Student]] 
[[enrolled in:: <q>[[Category:Sapienza]]</q> || DIS]] }} 
Q(x) :- L(x) 
L(x) :- A1(x) ,A2(x) 
A1(x) :- Student(x) 
A2(x) :- enrolledIn(x, y), N(y) ... (1) 
N(x) :- Sapienza(x) 
N(x) :- x:=DIS 
Coupling SemanticMediaWiki with MASTRO 25
Our approach 
•Query translation 
Replace body of the queries with head definitions (occurring once) 
Q(x):- Student(x), enrolledIn(x, y), N(y) 
N(x):- Sapienza(x) 
N(x):- x:=DIS … (2) 
Coupling SemanticMediaWiki with MASTRO 26
Our approach 
•Query translation 
• Apply Depth First Search (DFS) on rules (2): 
Q(x):- Student(x), enrolledIn(x, y), N(y) 
N(x):- Sapienza(x) N(x):- x:=DIS 
Coupling SemanticMediaWiki with MASTRO 27
Our approach 
•Query translation 
After applying DFS, we got Union Of Conjunctive Queries (UCQs): 
Q(x):-Student(x), enrolledIn(x, y), Sapienza(y) 
Q(x):-Student(x), enrolledIn(x, ‘DIS’) 
Coupling SemanticMediaWiki with MASTRO 28
Our approach 
•Query translation 
{{#ask: [[Category:Student]] 
[[enrolled in:: <q>[[Category:Sapienza]]</q> || DIS]] }} 
• It returns all students that are in class Sapienza, and all its subclasses 
(research centers, affiliations, etc.) 
• This is fulfilled thanks to the PerfectRef, implemented in QuOnto, so no 
special algorithm needed! 
Coupling SemanticMediaWiki with MASTRO 29
SMWQuonto Control Panel 
DBMS 
it manages ABox 
XML file 
manages TBox 
Coupling SemanticMediaWiki with Mastro 30
SMWQuonto Control Panel 
Semantic data 
pushed to QuOnto 
Coupling SemanticMediaWiki with Mastro 31
SMWQuonto Control Panel 
AskQL query 
posed to QuOnto. 
UCQs obtained 
Coupling SemanticMediaWiki with Mastro 32 
Results
Conclusion 
•We managed to create a system, which offers a higher level of expressivity, 
than the one offered by SMW, by maintaining complexity polynomial 
• It can deal with a hundred thousands of pages (instances), e.g. Wikipedia 
•We have more expressive query language – UCQ 
– Constraining !, <, >, ~ , which can be dealt as well imposing EQL constraints on UCQ – 
SparSQL 
– Any extension in expressivity of askQL query language, makes the complexity NP-hard 
• It is meant to be “proposal” for alternative triple-store used in SMW 
• It can be considered as a SMW extension 
Coupling SemanticMediaWiki with MASTRO 33
Future work 
• Use SparSQL query language in order to deal with special constructs (!, <, >, 
∼), hence by fully capturing the askQL queries. 
• Provide a more scalable coupling between the two architectures, e.g., 
SOAP and Web Services 
• Grab semantic data from more than one page, using RDF/XML output 
• Grab category hierarchy at once, thus by having the taxonomy of the ontology 
Coupling SemanticMediaWiki with MASTRO 34
Questions ? 
Coupling SemanticMediaWiki with MASTRO 35

More Related Content

Similar to Coupling SMW with MASTRO Thesis

Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysKoneksys
 
Msra talk smw+apps
Msra talk smw+appsMsra talk smw+apps
Msra talk smw+appsJesse Wang
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...WSO2
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languagesfranciscoortin
 
Semantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionSemantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionJesse Wang
 
Conor Hayes - Topics, tags and trends in the blogosphere
Conor Hayes - Topics, tags and trends in the blogosphereConor Hayes - Topics, tags and trends in the blogosphere
Conor Hayes - Topics, tags and trends in the blogosphereDERIGalway
 
Confluence Wiki as a CMS
Confluence Wiki as a CMSConfluence Wiki as a CMS
Confluence Wiki as a CMSCustomWare
 
PoolParty Semantic Suite: Management Briefing and Functional Overview
PoolParty Semantic Suite: Management Briefing and Functional Overview PoolParty Semantic Suite: Management Briefing and Functional Overview
PoolParty Semantic Suite: Management Briefing and Functional Overview Martin Kaltenböck
 
Jist tutorial semantic wikis and applications
Jist tutorial   semantic wikis and applicationsJist tutorial   semantic wikis and applications
Jist tutorial semantic wikis and applicationsJesse Wang
 
Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Jesse Wang
 
Applying And Extending Semantic Wikis For Semantic Web Courses
Applying And Extending Semantic Wikis For Semantic Web CoursesApplying And Extending Semantic Wikis For Semantic Web Courses
Applying And Extending Semantic Wikis For Semantic Web CoursesAlicia Buske
 
Design Pattern
Design PatternDesign Pattern
Design PatternHimanshu
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
 
Adopting AnswerModules ModuleSuite
Adopting AnswerModules ModuleSuiteAdopting AnswerModules ModuleSuite
Adopting AnswerModules ModuleSuiteAnswerModules
 
Get Started with JavaScript Frameworks
Get Started with JavaScript FrameworksGet Started with JavaScript Frameworks
Get Started with JavaScript FrameworksChristian Gaetano
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring CloudDaniel Eichten
 
Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
Semantic Tagging for the XWiki Platform with Zemanta and DBpediaSemantic Tagging for the XWiki Platform with Zemanta and DBpedia
Semantic Tagging for the XWiki Platform with Zemanta and DBpediaElena-Oana Tabaranu
 
Encoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectEncoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectJames Griffin
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformNuxeo
 

Similar to Coupling SMW with MASTRO Thesis (20)

Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By Koneksys
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Msra talk smw+apps
Msra talk smw+appsMsra talk smw+apps
Msra talk smw+apps
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
 
Semantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionSemantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in Action
 
Conor Hayes - Topics, tags and trends in the blogosphere
Conor Hayes - Topics, tags and trends in the blogosphereConor Hayes - Topics, tags and trends in the blogosphere
Conor Hayes - Topics, tags and trends in the blogosphere
 
Confluence Wiki as a CMS
Confluence Wiki as a CMSConfluence Wiki as a CMS
Confluence Wiki as a CMS
 
PoolParty Semantic Suite: Management Briefing and Functional Overview
PoolParty Semantic Suite: Management Briefing and Functional Overview PoolParty Semantic Suite: Management Briefing and Functional Overview
PoolParty Semantic Suite: Management Briefing and Functional Overview
 
Jist tutorial semantic wikis and applications
Jist tutorial   semantic wikis and applicationsJist tutorial   semantic wikis and applications
Jist tutorial semantic wikis and applications
 
Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)
 
Applying And Extending Semantic Wikis For Semantic Web Courses
Applying And Extending Semantic Wikis For Semantic Web CoursesApplying And Extending Semantic Wikis For Semantic Web Courses
Applying And Extending Semantic Wikis For Semantic Web Courses
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Adopting AnswerModules ModuleSuite
Adopting AnswerModules ModuleSuiteAdopting AnswerModules ModuleSuite
Adopting AnswerModules ModuleSuite
 
Get Started with JavaScript Frameworks
Get Started with JavaScript FrameworksGet Started with JavaScript Frameworks
Get Started with JavaScript Frameworks
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 
Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
Semantic Tagging for the XWiki Platform with Zemanta and DBpediaSemantic Tagging for the XWiki Platform with Zemanta and DBpedia
Semantic Tagging for the XWiki Platform with Zemanta and DBpedia
 
Encoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectEncoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems Project
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Coupling SMW with MASTRO Thesis

  • 1. Coupling Semantic MediaWiki with MASTRO Student: Albin Ahmeti Advisor: Prof. Maurizio Lenzerini Master thesis 26/01/2011
  • 2. Outline • Mediawiki •Semantic Mediawiki (SMW) • Coupling SMW with MASTRO •SMWQuonto Control Panel • Conclusion • Future work Coupling SemanticMediaWiki with MASTRO 2
  • 3. MediaWiki • MediaWiki (abbr. MW) is a free server-based software, licensed under the GNU General Public License, which runs Wikipedia • It has been widely used in a lots of companies as a content-management system, it provides fast page processing and short request time • PHP & Mysql in backend • It manages content mirroring, concurrent and conflicting page edits between users • The articles in Wikipedia are consisted of wiki text, which is actually, a bunch of plain text and a kind of lightweight markup language Coupling SemanticMediaWiki with MASTRO 3
  • 4. MediaWiki (cont.) • Creating pages is simplified to minimum, one has just to type “[[Title]]” and then type the content, e.g. creating a wiki page titled “Rome”, [[Rome]] Coupling SemanticMediaWiki with MASTRO 4
  • 5. MediaWiki (cont. ) • It distinguishes between pages using namespaces • Main: • User: • Help: • Talk: • Usage of templates: • Transclusion -> {{Template name}} • Substitution -> {{subst:Template name}} Coupling SemanticMediaWiki with MASTRO 5
  • 6. Semantic MediaWiki • Semantic MediaWiki (abbr. SMW) is the most popular platform to date that encodes semantic data to the wiki articles • Introduces some basic syntax, a sort of metadata that is machine processable for each of the page constructs (link types) • SMW is built on top of MediaWiki (MW), it has been developed using the same technology as MW, i.e. tight coupling Coupling SemanticMediaWiki with MASTRO 6
  • 7. Semantic MediaWiki • Annotation of pages Is page-centric oriented:  Categories  Properties  Attributes Coupling SemanticMediaWiki with MASTRO 7
  • 8. Semantic MediaWiki •Categories  Are used to classify pages for better retrieval and organization  Correspond to Classes in OWL DL [[Category:City]] [[Category:Holy cities]] •Sub-categories  Same notation, but defined in the namespace Category:  Class inclusion in OWL DL -> Intensional knowledge  Holy Cities ⊑ City Coupling SemanticMediaWiki with MASTRO 8
  • 9. Semantic MediaWiki • Properties  Link types (relations) between wiki pages, i.e. hyperlinks  Correspond to OWL Object Property Rome is capital of [[Italy]] Rome is capital of [[capital of::Italy]] • Subproperties  are defined in the namespace Property:  [[subproperty of::Property:Located In]]  capital of ⊑ Located In Coupling SemanticMediaWiki with MASTRO 9
  • 10. Semantic MediaWiki •Attributes  Relations between a wiki page and a datatype Rome has population 2,700,000. Rome has population [[population::2,700,000]] A property can be changed to an attribute, by giving a meaningful datatype in Property namespace: [[Has type::number]] Attributes in wiki pages correspond to OWL Data Type Property, Annotation Property and Object Property Coupling SemanticMediaWiki with MASTRO 10
  • 11. Semantic MediaWiki •Querying in SMW (inline queries) {{#ask: [[Category:City]] [[Located in::Italy]] |?Population |?Area |sort=Population, Area |order=descending, ascending }} Coupling SemanticMediaWiki with MASTRO 11
  • 12. Semantic MediaWiki {{#ask: [[Category:Student]][[degree::!Sapienza]] [[age::>24]][[age::<30]] |?name |?surname |?age }} CWA -> easy to evaluate OWA -> not easy to evaluate, ontology does not have complete information Coupling SemanticMediaWiki with MASTRO 12
  • 13. Semantic MediaWiki • Architecture of SMW Coupling SemanticMediaWiki with MASTRO 13
  • 14. Semantic MediaWiki SMW has • rather limited expressivity • no disjoint classes • no disjoint properties • no functionalities • no inverses • query language that does not allow joins and explicit variables What, if we add more expressivity and keep the reasoning tasks (query answering) polynomial ? Coupling SemanticMediaWiki with MASTRO 14
  • 15. Our approach •We use QuOnto as a reasoner • Use expressivity of DL-Lite, reasoning tasks are polynomial wrt to the size of the ontology:  query answering  subsumption  ontology satisfiability  instance checking • Use Union of Conjunctive Queries (UCQs) for posing queries  can express joins  allow variables  coincide with SELECT-PROJECT-JOIN SQL queries  LOGSPACE wrt to the data complexity Coupling SemanticMediaWiki with MASTRO 15
  • 16. Our approach • DL-Litecore B → A | ∃R R → P | P − C → B | ¬B E → R | ¬R B ⊑ C A denotes an atomic concept, P an atomic role and P − its inverse. B denotes a basic concept, R is a basic role A(a) P (a, b) DL-LiteF (funct R) DL-LiteR R ⊑ E Coupling SemanticMediaWiki with MASTRO 16
  • 17. Our approach •Architecture Coupling SemanticMediaWiki with MASTRO 17
  • 19. Our approach Besides, we added four types of assertions, not available in SMW: Coupling SemanticMediaWiki with MASTRO 19
  • 20. Our approach Coupling SemanticMediaWiki with Mastro 20
  • 21. Our approach DL-Lite vs OWL DL interpretation of SMW annotations Coupling SemanticMediaWiki with MASTRO 21
  • 22. Our approach •Query translation • query translation from #ask to function free positive LP (logic programming) rules, obtaining minimal Herbrand model semantics in the process, based on JieBao et al. (captures SMW 1.4.2)  n-ary predicates removed  Adjustments (tunings) to deal with latest SMW 1.5.x (mainly code-based) Coupling SemanticMediaWiki with MASTRO 22
  • 23. Our approach •Query translation Translation from SMW-QL to Logic Program, as defined in the paper “Knowledge Representation and Query in Semantic MediaWiki: A Formal Study”-JieBao et al. Coupling SemanticMediaWiki with MASTRO 23
  • 24. Our approach •Query translation 1) map query annotations to Logic counterparts (based on schema) 2) Replace body atoms 3) Perform Depth-First-Search on rules Coupling SemanticMediaWiki with MASTRO 24
  • 25. Our approach •Query translation {{#ask: [[Category:Student]] [[enrolled in:: <q>[[Category:Sapienza]]</q> || DIS]] }} Q(x) :- L(x) L(x) :- A1(x) ,A2(x) A1(x) :- Student(x) A2(x) :- enrolledIn(x, y), N(y) ... (1) N(x) :- Sapienza(x) N(x) :- x:=DIS Coupling SemanticMediaWiki with MASTRO 25
  • 26. Our approach •Query translation Replace body of the queries with head definitions (occurring once) Q(x):- Student(x), enrolledIn(x, y), N(y) N(x):- Sapienza(x) N(x):- x:=DIS … (2) Coupling SemanticMediaWiki with MASTRO 26
  • 27. Our approach •Query translation • Apply Depth First Search (DFS) on rules (2): Q(x):- Student(x), enrolledIn(x, y), N(y) N(x):- Sapienza(x) N(x):- x:=DIS Coupling SemanticMediaWiki with MASTRO 27
  • 28. Our approach •Query translation After applying DFS, we got Union Of Conjunctive Queries (UCQs): Q(x):-Student(x), enrolledIn(x, y), Sapienza(y) Q(x):-Student(x), enrolledIn(x, ‘DIS’) Coupling SemanticMediaWiki with MASTRO 28
  • 29. Our approach •Query translation {{#ask: [[Category:Student]] [[enrolled in:: <q>[[Category:Sapienza]]</q> || DIS]] }} • It returns all students that are in class Sapienza, and all its subclasses (research centers, affiliations, etc.) • This is fulfilled thanks to the PerfectRef, implemented in QuOnto, so no special algorithm needed! Coupling SemanticMediaWiki with MASTRO 29
  • 30. SMWQuonto Control Panel DBMS it manages ABox XML file manages TBox Coupling SemanticMediaWiki with Mastro 30
  • 31. SMWQuonto Control Panel Semantic data pushed to QuOnto Coupling SemanticMediaWiki with Mastro 31
  • 32. SMWQuonto Control Panel AskQL query posed to QuOnto. UCQs obtained Coupling SemanticMediaWiki with Mastro 32 Results
  • 33. Conclusion •We managed to create a system, which offers a higher level of expressivity, than the one offered by SMW, by maintaining complexity polynomial • It can deal with a hundred thousands of pages (instances), e.g. Wikipedia •We have more expressive query language – UCQ – Constraining !, <, >, ~ , which can be dealt as well imposing EQL constraints on UCQ – SparSQL – Any extension in expressivity of askQL query language, makes the complexity NP-hard • It is meant to be “proposal” for alternative triple-store used in SMW • It can be considered as a SMW extension Coupling SemanticMediaWiki with MASTRO 33
  • 34. Future work • Use SparSQL query language in order to deal with special constructs (!, <, >, ∼), hence by fully capturing the askQL queries. • Provide a more scalable coupling between the two architectures, e.g., SOAP and Web Services • Grab semantic data from more than one page, using RDF/XML output • Grab category hierarchy at once, thus by having the taxonomy of the ontology Coupling SemanticMediaWiki with MASTRO 34
  • 35. Questions ? Coupling SemanticMediaWiki with MASTRO 35