[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [legalruleml] [XML] source example
Tara thanks a lot. It seems to me a great improvement. See my comments in the text, just for refining the proposal. Yours, mp Il 09/05/2012 08:59, Tara Athan ha scritto:
Attached and below is a possible representation of an example with defeasible rules and referencing of sources. I have used to some extent Attempto Controlled English (ACE) and the tools published at http://attempto.ifi.uzh.ch/site/ I have not used the full translation from ACE into RuleML that is available, in principle, from tools such as http://www.ruleml.org/translator/ (which is not working now because of changes in the ACE webservice API). However, we may need to use such a translation as the examples become more realistic. The Discourse Representation Structure (DRS) which is obtained from ACE expressions uses an approach that relies on existential quantification to glue together complex grammatical structures. When these existentials appear in the head they move the expressivity beyond Horn Logic, and may increase the complexity of reasoning. On the other hand they assist in cross-referencing. For example, when someone violates a norm, then in DRS an existentially quantified variable denotes the violation, and this violation can become a term in other expressions. I have a few general recommendations: 1. when referencing an attribute value that was define as an attribute with values of datatype xs:ID (usually named "id" or something similar), then using an attribute (usually named something like "idref") with values of datatype xs:IDREF allows validators to check that the values are actually defined as a value of some @id attribute in the document as well as checking that id values are not duplicated.
*** totally agree, even if some time it is possible to have a pointer to an external xml file so I usually use xs:anyURI type for permitting the link to external resources (e.g. http//monica.palmirani/legalruleml-kb.xml#ID30 in order to not repeat the references block)
2. Data - such as numerical values, dateTimes, character sequences for someones name may be constrained with built-in xsd datatypes, or user-defined restrictions of them, using the xsi:type attribute, but only if the data appears as simple content inside an element. It the data is in an attribute value, it can only be datatyped from the schema and this is less amenable to user extension.
*** we need to analyse the temporal aspects scenario, the event and the interval: sometime we have a fixed dataTime, other time we have temporal parameters like "6 months from the date of enter into force" that are dynamically calculated by the engine. In principle I like to use xs:datatime for punctual dataTime event.
3. Local constants, such as <Ind>a</Ind> are useful as parameters whose values can be assigned, and modified, from metadata. I have repurposed the source metadata element to provide such a parameter value assignment.
*** It is ok for me. I would like to evaluate better this point with other examples where we have obligations. Moreover I would like to see if it is possible to associate not only the rules but also the body, head, atoms using a different granularity of association between sources and fragment of the rule.
4. The @node attribute on RuleML Node elements provides a mechanism for assigning IRIs as labels to propositions and similar reified RuleML entities. The @node attribute must have non-repeating values, similar to @id attributes. To reference an IRI created using the @node attribute, it is recommended to use @iri, for IRIs when possible.
*** ok
5. I have done my best to comply with the guidelines to separate medata from the rules and formulas. To this end, I have not included any attributes on the rules pointing back to metadata identifiers. To allow N:M association, the @iri element on <ruleInfo> is replaced with an @applysTo, which is allowed to contain a list of IRIs, separated by whitespace.
*** to use a list of values inside of an attribute separated by whitespace is one of the possible technique, but the side effect is to complicate an xPath query like "give me all the ruleInfo concerning the node="#art2-rule2", expecially if you have in this list of values #art2-rule2 #art2-rule22 #art22-rule2, I need to use contains() function and to elaborate it.
6. I have moved the point at which sources are referenced from the <Atom> wrapper element inward to the terms where the reference would appear in a natural language (ACE) expression, allowing greater specificity of reference as well as facilitating the construction of complex expressions with multiple references and multiple free variables. 7. Whenever a free variable appears in an element that is referenced by its @node value, it must be referenced as a function, with arguments providing the substitutions for free variables, in lexicographic order of the variable names. Because the representation of the referenced text is unknown, we can't provide in this example the proper arguments that establish the links between the individuals mentioned in the two texts. 8. I have included comments in the attached XML text to help explain the examples. 9. Establishing a naming convention for IDs, IRIs, variables and local constants will help make the examples more readable. I have made a preliminary attempt, further suggestions are welcome.
*** I totally agree. -- =================================== Associate professor of Legal Informatics School of Law Alma Mater Studiorum Università di Bologna C.I.R.S.F.I.D. http://www.cirsfid.unibo.it/ Palazzo Dal Monte Gaudenzi - Via Galliera, 3 I - 40121 BOLOGNA (ITALY) Tel +39 051 277217 Fax +39 051 260782 E-mail monica.palmirani@unibo.it ==================================== LA RICERCA C’È E SI VEDE: 5 per mille all'Università di Bologna - C.F.: 80007010376 http://www.unibo.it/Vademecum5permille.htm Questa informativa è inserita in automatico dal sistema al fine esclusivo della realizzazione dei fini istituzionali dell’ente.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]