SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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
 

Destacado (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
 

Similar a 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
 

Similar a 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
 

Último

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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Último (20)

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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

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