# 5 Sep 2002

These notes are the result of my efforts to implement the algorithm given in ``A Proposal for Encoding Logic in RDF/DAML'' by McDermott, et al. The resulting code can be obtained from the DAML-Time Homepage.

• In the example, the paper uses ``Seq'' for the variables in the first (universal) quantifier, and ``Bag'' for the second (existential) quantifier. The algorithm, which is given only for a universally-quantified formula, uses ``Bag''. That makes sense to me (the order or the variables doesn't matter), so ``Bag'' is used for all quantified variables (and, incidentally, not for anything else).

• In the example, the original name of the variables is given as a ``name'' attribute of the ``Var'' entity. This is very helpful when reading/decoding the axioms, but the algorithm didn't produce triples that retained that information. I added these to the translation of quantified formulae.

• The paper says ``an atomic formula is represented by four triples, specifying that it exists, and what its subject, predicate, and object are,'' but the algorithm only creates three triples for ``subj'', ``pred'', and ``obj''. I added the missing ``type'' triple with the type ``drs:Triple''.

• The algorithm for translating functional terms mistakenly uses ``_i'' in the union that handles the arguments of the function, but ``_1'' has already been used by the name of the function itself. I changed this to, effectively, ``_(i+1)''.

• The algorithm for disjunction (and therefore also conjunction) uses an ``args'' entity to which the two disjuncts (conjuncts) are related by the ``_1'' and ``_2'' relations. The example markup doesn't have either conjunction or disjunction, but I decided in my translation from triples to markup to just list them as ``li'' entities within the ``Or'' (``And'') entity.

• The paper does not give the translation for a negation, but I patterned mine after disjunction/conjunction, using an ``args'' entity to which the content of the negation is ``_1''. In the markup, I leave out the extra entities.

• The paper mentions terms that are URI's, but I don't do anything special with these. Variables references and constant terms are properly handled. Don't know about anything else.

Last change: 5 Sep 2002 by ferguson