As one who's soul is currently languishing in RDF, RDFS, OWL
purgatory, let me answer Ernest's rhetorical question: NO000oooo!  ;-)

On Fri, Aug 13, 2010 at 11:59 AM, Ernest Friedman-Hill
<ejfr...@sandia.gov> wrote:
> Java classes are totally optional in Jess -- in fact, templates and facts
> created directly from the Jess language are always more efficient.
>
> If Jess were to store the properties of an object in a Map -- so that they
> were dynamic and extensible at runtime -- then it would be considerably
> slower, for the same reason that fully dynamic languages in which objects
> are maps of code and variables are slower than compiled languages.
> Construction of a fast Rete network requires knowing what properties are
> being dealt with. Think of a database in which all the data was stored as
> object-attribute-value triples -- would it be as fast as a database with
> fixed tables and columns?
>
>
> On Aug 13, 2010, at 11:41 AM, Donald Winston wrote:
>
>> So I have to create a template and know all the identifiers before loading
>> data into the fact base? This means I'll have to create java bean objects
>> for all my data. Every time the data changes I'll have to modify the java
>> classes. I don't believe in creating objects for things that have little or
>> no behavior. That's what Maps and Lists  are for.
>>
>> I suppose I could generate a "init-facts.clp" file when my app starts up
>> and load it along with the rules.
>>
>> On Aug 13, 2010, at 11:18 AM, Ernest Friedman-Hill wrote:
>>
>>> Basically for the same reason that you can't say something like this in
>>> Java:
>>>
>>> String theMethodName = "toString";
>>> String myString = myObject.(theMethodName)();
>>>
>>> but instead you have to use reflection to find the method "toString" and
>>> call it using the Method object. The compiler needs to know the correct
>>> template to use to compile the code, and it can't do that if the name of the
>>> template is in a variable.
>>>
>>> Now, you may ask *could* it work the way you want? Indeed, it could --
>>> but it doesn't at this time. We've talked in the past about allowing this
>>> kind of thing, and it has its pros and cons.
>>>
>>>
>>> On Aug 13, 2010, at 11:05 AM, Donald Winston wrote:
>>>
>>>> Can anyone explain to me why this does not work? Why can't I use
>>>>
>>>> (deffacts initial-facts
>>>> "Facts to trigger a few appropriate salient initialization rules."
>>>> (assert-request-parameters))
>>>>
>>>> (defrule assert-request-parameters-rule
>>>> "Assert stored data one time."
>>>> (declare (salience 100))
>>>> ?x <- (assert-request-parameters)
>>>>      =>
>>>> (foreach ?key (((fetch request-parameter-map) keySet) iterator)
>>>>        (build str-cat "(assert (" ?key " " ((fetch
>>>> request-parameter-map) get ?key) "))"))
>>>>         ; why not (assert (?key ((fetch request-parameter-map) get
>>>> ?key))))
>>>>   (retract ?x))
>>>>
>>>> (bind ?map (new java.util.HashMap))
>>>> (?map put one 1)
>>>> (?map put two 2)
>>>> (?map put three 3)
>>>> (store request-parameter-map ?map)
>>>> (reset)
>>>> (facts)
>>>> (run)
>>>> (facts)
>>>>
>>>> Jess, the Rule Engine for the Java Platform
>>>> Copyright (C) 2008 Sandia Corporation
>>>> Jess Version 7.1p2 11/5/2008
>>>>
>>>> This copy of Jess will expire in 207 day(s).
>>>> f-0   (MAIN::initial-fact)
>>>> f-1   (MAIN::assert-request-parameters)
>>>> For a total of 2 facts in module MAIN.
>>>>
>>>> f-0   (MAIN::initial-fact)
>>>> For a total of 1 facts in module MAIN.
>>>
>>> ---------------------------------------------------------
>>> Ernest Friedman-Hill
>>> Informatics & Decision Sciences, Sandia National Laboratories
>>> PO Box 969, MS 9012, Livermore, CA 94550
>>> http://www.jessrules.com
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'
>>> in the BODY of a message to majord...@sandia.gov, NOT to the list
>>> (use your own address!) List problems? Notify
>>> owner-jess-us...@sandia.gov.
>>> --------------------------------------------------------------------
>>>
>>
>>
>>
>>
>>
>> --------------------------------------------------------------------
>> To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'
>> in the BODY of a message to majord...@sandia.gov, NOT to the list
>> (use your own address!) List problems? Notify owner-jess-us...@sandia.gov.
>> --------------------------------------------------------------------
>
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Informatics & Decision Sciences          Phone: (925) 294-2154
> Sandia National Labs
> PO Box 969, MS 9012                            ejfr...@sandia.gov
> Livermore, CA 94550                             http://www.jessrules.com
>
>
>
>
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'
> in the BODY of a message to majord...@sandia.gov, NOT to the list
> (use your own address!) List problems? Notify owner-jess-us...@sandia.gov.
> --------------------------------------------------------------------
>
>



-- 
Cheers,
Jason
------------------------------------------------------
Morris Technical Solutions LLC
consult...@morris-technical-solutions.com
(517) 304-5883




--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'
in the BODY of a message to majord...@sandia.gov, NOT to the list
(use your own address!) List problems? Notify owner-jess-us...@sandia.gov.
--------------------------------------------------------------------

Reply via email to