SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
A Multi-theory Logic Language
    for the World Wide Web
               Giulio Piancastelli and Andrea Omicini
   24th International Conference on Logic Programming (ICLP 2008)
                      Udine, December 9-13, 2008
Purpose
Bring principles, abstractions,
and insights from the Web
architecture to research on the
use of logic programming for Web
application prototyping
Resource
Any conceptual target of a
hypertext reference

Composed of:
• identifier (URI)
• data
• behavior
http://example.com/sales/2004/Q4
http://example.com/sales/2004/Q4


                R




              T(R)

           f(a).
           r(P, Q) :-
              s(P), t(Q).
http://example.com/sales/2004/Q4

http://example.com/sales/2004/
                                     R

              R1                                 T(R)

                         T(R1)
http://example.com/sales/2004/Q4

                       http://example.com/sales/2004/
                                                            R

http://example.com/sales/            R1                                 T(R)

           R2                                   T(R1)


                       T(R2)
http://example.com/sales/2004/Q4

                       http://example.com/sales/2004/
                                                            R

http://example.com/sales/            R1                                 T(R)

           R2                                   T(R1)


                       T(R2)
http://example.com/sales/2004/Q4

                          http://example.com/sales/2004/
                                                               R

   http://example.com/sales/            R1                                 T(R)

              R2                                   T(R1)


                          T(R2)




               R

http://example.com/sales/Q42004/
Implicit Resources
Resources representing recurring
concepts in Web development that
are always attached to the bottom
of any context
• the session with the application
• the user
• the application itself
• the deployment environment
HTTP

GET /sales/2004/Q4 HTTP/1.1
Host: example.com
HTTP

      GET /sales/2004/Q4 HTTP/1.1
      Host: example.com

Method Information: how the
receiver has to process the
request
 '/sales/2004/Q4' : get(Request, Response, View).
HTTP

      GET /sales/2004/Q4 HTTP/1.1
      Host: example.com

Scope Information: the data
where the receiver should
operate the method
 '/sales/2004/Q4' : get(Request, Response, View).
/r2/r1/r


      R




    T(R)

get(_, _, V) :-
    a, b, c(V).
a :- p, q, r.
/r2/r1     /r2/r1/r


 R1            R




             T(R)

         get(_, _, V) :-
             a, b, c(V).
         a :- p, q, r.
/        /r2   /r2/r1     /r2/r1/r


    root        R2     R1            R




 T(root)                           T(R)

p :- x, y, z.                  get(_, _, V) :-
x.                                 a, b, c(V).
                               a :- p, q, r.
/        /r2   /r2/r1     /r2/r1/r


    root        R2     R1            R




 T(root)                           T(R)

p :- x, y, z.                  get(_, _, V) :-
x.                                 a, b, c(V).
                               a :- p, q, r.
Dynamic Resource
       Behavior (1)
Two or more URIs can be
associated to the same resource:
resources may live in different
contexts at the same time and
feature different behavior
according to the context where
the computation takes place.
Dynamic Resource
       Behavior (2)
Behavioral rules are expressed as
first-class abstractions in logic
programming languages, where
programs can be treated as data:
the HTTP protocol allows changing
resource data by using the PUT
method, so that runtime
behavioral changes of a resource
in a context are possible.
A Multi-theory Logic Language
    for the World Wide Web
               Giulio Piancastelli and Andrea Omicini
   24th International Conference on Logic Programming (ICLP 2008)
                      Udine, December 9-13, 2008

Weitere ähnliche Inhalte

Andere mochten auch

Rugby World Cup 2007
Rugby World Cup 2007Rugby World Cup 2007
Rugby World Cup 2007RugbyToItaly
 
Materi Sosialisasi Pemilu 2009 Ppln Tokyo
Materi Sosialisasi Pemilu 2009 Ppln TokyoMateri Sosialisasi Pemilu 2009 Ppln Tokyo
Materi Sosialisasi Pemilu 2009 Ppln Tokyopplntokyo
 
Fostering open access publishing in Tanzanian public universities:
Fostering open access publishing in Tanzanian public universities: Fostering open access publishing in Tanzanian public universities:
Fostering open access publishing in Tanzanian public universities: iaaldafrika
 
Baby Physical Therapy
Baby Physical TherapyBaby Physical Therapy
Baby Physical Therapytoronto99
 
Resumen proyecto legalsolo.com
Resumen proyecto legalsolo.comResumen proyecto legalsolo.com
Resumen proyecto legalsolo.comAngel Maldonado
 
CSM presentation for University lectures
CSM presentation for University lecturesCSM presentation for University lectures
CSM presentation for University lecturesGianni Catalfamo
 

Andere mochten auch (7)

Rugby World Cup 2007
Rugby World Cup 2007Rugby World Cup 2007
Rugby World Cup 2007
 
Materi Sosialisasi Pemilu 2009 Ppln Tokyo
Materi Sosialisasi Pemilu 2009 Ppln TokyoMateri Sosialisasi Pemilu 2009 Ppln Tokyo
Materi Sosialisasi Pemilu 2009 Ppln Tokyo
 
Fostering open access publishing in Tanzanian public universities:
Fostering open access publishing in Tanzanian public universities: Fostering open access publishing in Tanzanian public universities:
Fostering open access publishing in Tanzanian public universities:
 
Baby Physical Therapy
Baby Physical TherapyBaby Physical Therapy
Baby Physical Therapy
 
Resumen proyecto legalsolo.com
Resumen proyecto legalsolo.comResumen proyecto legalsolo.com
Resumen proyecto legalsolo.com
 
The Bioethics Of Gene Therapy
The Bioethics Of Gene TherapyThe Bioethics Of Gene Therapy
The Bioethics Of Gene Therapy
 
CSM presentation for University lectures
CSM presentation for University lecturesCSM presentation for University lectures
CSM presentation for University lectures
 

Ähnlich wie Multi-theory logic language for Web resources

Dot Call interface
Dot Call interfaceDot Call interface
Dot Call interfaceHao Chai
 
R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationAlvaro Gil
 
Six Sigma is Possible with R
Six Sigma is Possible with RSix Sigma is Possible with R
Six Sigma is Possible with REmilio L. Cano
 
8051 Assembly Language Programming
8051 Assembly Language Programming8051 Assembly Language Programming
8051 Assembly Language ProgrammingRavikumar Tiwari
 
wadar_poster_final
wadar_poster_finalwadar_poster_final
wadar_poster_finalGiorgio Orsi
 
Introduction of R on Hadoop
Introduction of R on HadoopIntroduction of R on Hadoop
Introduction of R on HadoopChung-Tsai Su
 
Performance data visualization with r and tableau
Performance data visualization with r and tableauPerformance data visualization with r and tableau
Performance data visualization with r and tableauEnkitec
 
IJCAR 2018 keynote: Industrial Data Access
IJCAR 2018 keynote: Industrial Data AccessIJCAR 2018 keynote: Industrial Data Access
IJCAR 2018 keynote: Industrial Data AccessMartin Giese
 

Ähnlich wie Multi-theory logic language for Web resources (11)

Dot Call interface
Dot Call interfaceDot Call interface
Dot Call interface
 
R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulation
 
Six Sigma is Possible with R
Six Sigma is Possible with RSix Sigma is Possible with R
Six Sigma is Possible with R
 
8051 Assembly Language Programming
8051 Assembly Language Programming8051 Assembly Language Programming
8051 Assembly Language Programming
 
wadar_poster_final
wadar_poster_finalwadar_poster_final
wadar_poster_final
 
Introduction of R on Hadoop
Introduction of R on HadoopIntroduction of R on Hadoop
Introduction of R on Hadoop
 
R programming
R programmingR programming
R programming
 
Performance data visualization with r and tableau
Performance data visualization with r and tableauPerformance data visualization with r and tableau
Performance data visualization with r and tableau
 
IJCAR 2018 keynote: Industrial Data Access
IJCAR 2018 keynote: Industrial Data AccessIJCAR 2018 keynote: Industrial Data Access
IJCAR 2018 keynote: Industrial Data Access
 
Revolution R: 100% R and more
Revolution R: 100% R and moreRevolution R: 100% R and more
Revolution R: 100% R and more
 
Special topics in finance lecture 2
Special topics in finance   lecture 2Special topics in finance   lecture 2
Special topics in finance lecture 2
 

Kürzlich hochgeladen

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
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Multi-theory logic language for Web resources

  • 1. A Multi-theory Logic Language for the World Wide Web Giulio Piancastelli and Andrea Omicini 24th International Conference on Logic Programming (ICLP 2008) Udine, December 9-13, 2008
  • 2. Purpose Bring principles, abstractions, and insights from the Web architecture to research on the use of logic programming for Web application prototyping
  • 3. Resource Any conceptual target of a hypertext reference Composed of: • identifier (URI) • data • behavior
  • 5. http://example.com/sales/2004/Q4 R T(R) f(a). r(P, Q) :- s(P), t(Q).
  • 7. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2)
  • 8. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2)
  • 9. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2) R http://example.com/sales/Q42004/
  • 10. Implicit Resources Resources representing recurring concepts in Web development that are always attached to the bottom of any context • the session with the application • the user • the application itself • the deployment environment
  • 12. HTTP GET /sales/2004/Q4 HTTP/1.1 Host: example.com Method Information: how the receiver has to process the request '/sales/2004/Q4' : get(Request, Response, View).
  • 13. HTTP GET /sales/2004/Q4 HTTP/1.1 Host: example.com Scope Information: the data where the receiver should operate the method '/sales/2004/Q4' : get(Request, Response, View).
  • 14. /r2/r1/r R T(R) get(_, _, V) :- a, b, c(V). a :- p, q, r.
  • 15. /r2/r1 /r2/r1/r R1 R T(R) get(_, _, V) :- a, b, c(V). a :- p, q, r.
  • 16. / /r2 /r2/r1 /r2/r1/r root R2 R1 R T(root) T(R) p :- x, y, z. get(_, _, V) :- x. a, b, c(V). a :- p, q, r.
  • 17. / /r2 /r2/r1 /r2/r1/r root R2 R1 R T(root) T(R) p :- x, y, z. get(_, _, V) :- x. a, b, c(V). a :- p, q, r.
  • 18. Dynamic Resource Behavior (1) Two or more URIs can be associated to the same resource: resources may live in different contexts at the same time and feature different behavior according to the context where the computation takes place.
  • 19. Dynamic Resource Behavior (2) Behavioral rules are expressed as first-class abstractions in logic programming languages, where programs can be treated as data: the HTTP protocol allows changing resource data by using the PUT method, so that runtime behavioral changes of a resource in a context are possible.
  • 20. A Multi-theory Logic Language for the World Wide Web Giulio Piancastelli and Andrea Omicini 24th International Conference on Logic Programming (ICLP 2008) Udine, December 9-13, 2008