OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

legalruleml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: LegalRuleML - text on the repository


Dear all,

 

As Monica said in the latest Skype chat "We need to converge on a text" (for the repository at https://github.com/oasis-tcs/legalruleml).

 

I think we all agreed that we ought to write something in the repository about the relationship LegalRuleML and the underlying logic. Let me summarize below what we said about this and then I have some new thoughts to share with you.

 

---------------------------------------------------

Monica and Livio:

---------------------------------------------------

Monica and I agreed about the following text:

 

"LegalRuleML defines a legal XML vocabulary for modelling legal rules. It is out of the scope of LegalRuleML to define the semantic level and the kind of logic used. LegalRuleML is neutral with respect those two aspects: semantic and logic used. However LegalRuleML serializations vary depending on the chosen underlying logic. Each serialization could use a subset of LegalRuleML elements according to the underlying logic."

 

Monica also invites us to read the LegalRuleML charter: https://www.oasis-open.org/committees/legalruleml/charter.php

 

---------------------------------------------------

Guido:

---------------------------------------------------

Guido does not agree with the text above, he said that "The statements on serialisation is not true" and that "Most of the LegalRuleML we have written at Data61 is independent from the underlying logic (we translate afterward)".

 

He then discusses about the "idiomatic way to write LegalRuleML serialisations", which is not yet clear to me. Guido wrote:

 

"For me the idiomatic way to write LegalRuleML serialisations is to do in a way it is independent from “specific” logics; this, hopefully should imply interoperability. It is possible to use LegalRuleML in what I would say is not the idiomatic way, with a logic in mind."

 

"For me the idiomatic LegalRuleML is when it is written without any specific logic in mind"

 

Guido, could you maybe provide some examples of LegalRuleML written in the idiomatic way? As I said, I don't understand what you mean, an example would be very helpful.

 

---------------------------------------------------

Adam:

---------------------------------------------------

Adam has some concerns about the above but he needs some time to better shape it in his mind, then he'll share it with us.

 

"I'm just looking for a full understanding of the implications of these claims so we can come to some informed consensus. Even if the "...out of scope .... semantic and logic used." is true, I am getting the feeling there are serious implications we may need to discuss. It kicks something substantial under the carpet."

 

"Livio mentioned last week the possibility also of having different logics associated with the logical connectives. I think this way leads to complications that we have not addressed."

 

---------------------------------------------------

Livio again:

---------------------------------------------------

 

In the final part of the last discussion on Skype, Guido and I discuss about proper serialisations in LegalRuleML. That discussion was useful for me to understand... that maybe we should leave outside the word "semantics" at all. We should only use the word "syntax": serializing in LegalRuleML is just defining a 1:1 mapping between the syntax of the logic and the (XML) syntax in LegalRuleML, i.e., which XML tags have to be used and how to compose them.

 

In light of this, I searched for more info on the Web about how the relation between XML and the underlying logic is handled in RuleML (in LegalRuleML we should try to do something similar). I found this page, which I found quite clear:

 

http://wiki.ruleml.org/index.php/Scope_of_RuleML  

 

In particular the sentence:

 

"For each language, RuleML can use an existing semantics or introduce a new semantics via semantic profiles."

 

Ah-Ah! So, in my understanding, this means that RuleML (and so also LegalRuleML) can indeed use an existing semantics, in the sense of functions that associates the well-formed formulae to truth values. Or it can define a new semantic profile.

 

What I still don't understand is that the semantic profile that I found... are indeed syntactic mappings between the syntax of a logic and the XML format of RuleML... and so I don't understand anymore the first part of the claim above: "RuleML can use an existing semantics". The semantic profiles that I found are:

 

http://wiki.ruleml.org/index.php/Predefined_Semantic_Styles_of_RuleML_1.02  

 

An easy example is http://wiki.ruleml.org/index.php/First-Order_Logic_Herbrand_Semantic_Profile_of_RuleML_1.02, which maps First-Order Logic Herbrand Semantic to RuleML 1.02. To me, this is just a mapping from the syntax of RuleML to the syntax of FOLS. Then there is written "The Herbrand semantics is defined for classical first-order logic syntax (FOLS) according to http://www.cs.uic.edu/~hinrichs/herbrand/html/herbrandlogic.html"

 

For instance, one rules of this mapping says:

 

The mapping from RuleML syntax to FOLS is accomplished as follows:

            ...

            - The negation of FOLS corresponds to the <Neg> element of RuleML.

 

And then the semantics of the negation operator "¬" defined at http://www.cs.uic.edu/~hinrichs/herbrand/html/herbrandlogic.html applies 1:1 to the <Neg> element as well.

 

In case of LegalRuleML... I guess it should work in the same way? So, concerning reified Input/Output logic, I've just to define a "semantic profile" in terms of a mapping between the syntax of my formulae (defined at https://pdfs.semanticscholar.org/4bcf/e64bbb3ac113215266b0d471f9d8d9e68e64.pdf, section 5.1 and 5.2) and the LegalRuleML tags.

 

I have done so already. As you can see in this file:

 

https://raw.githubusercontent.com/dapreco/daprecokb/master/gdpr/rioKB_GDPR.xml  

 

Each "<lrml:ConstitutiveStatement>" embeds a formula in the form of an XML comment, e.g.:

 

---------------------------------------------------

      <!--

Obligation:

(

            (rioOnto:RexistAtTime :a1 :t1) & (rioOnto:and' :a1 :ep :edp) & (prOnto:DataSubject :w) & (prOnto:PersonalData :z :w)

            & (prOnto:Controller :y :z) & (prOnto:Processor :x) & (prOnto:nominates' :edp :y :x)

            & (prOnto:PersonalDataProcessing' :ep :x :z),

 

            (rioOnto:RexistAtTime :a2 :t2) & (pred:numeric-greater-than-or-equal :t1 :t2) & (rioOnto:and' :a2 :ei :ec1 :ec2 :ec3 :ed) & (prOnto:Measure :em)

            & (dapreco:Implement' :ei :y :em) & (rioOnto:cause' :ec1 :em :el) & (prOnto:lawfulness' :el :ep)

            & (rioOnto:cause' :ec2 :em :ef) & (prOnto:fairness' :ef :ep) & (rioOnto:cause' :ec3 :em :et)

            & (prOnto:transparency' :et :ep) & (dapreco:RelatedTo :ep :w) & (dapreco:Describe' :ed :y :ei)

)

-->

---------------------------------------------------

 

I didn't write these XML comments by hand. There is an algorithm that, taken the LegalRuleML representations, generates the comments and attach them at the beginning of each "<lrml:ConstitutiveStatement>". Every time I change the LegalRuleML representations, I run again this algorithm in order to update the comments. Therefore, in order to create my semantic profile, I must simply spell out the algorithm in an HTML documents that we link in the repository, as someone did for the First-Order Logic Herbrand Semantic and RuleML.

 

Guido (and whoever else wants to contribute to the repository) must do the same for his logic. Or, he must define "an existing semantics" for the LegalRuleML representations that he calls… idiomatic? Without such a semantics, how can we say that these LegalRuleML representations are true or false?

 

Did I understand correctly?

 

Livio

 

 

 

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]