문제

C 또는 Python의 규칙 엔진을 찾고 있지만 다른 언어로 구현되는 규칙 엔진을 알고 있다면 기꺼이 알고 싶습니다.

엔진은 누군가가 방을 떠날 때 조명을 끄는 것과 같이 집을 자동화하는 방법으로 사용됩니다. 따라서 "사무실"규칙이 없습니다 (일명 Excel 또는 그와 같은 규칙).

나는 Java에있는 Jess와 침물을보고 완벽한 일을했습니다. 나는 다른 사람들을 알고 싶습니다. 아마도 Java보다 기억이 적을 수 있습니다. Python의 Rulecore에 대해 들었지만 실제로 문서를 찾을 수 없었습니다 (버전 1.0은 Sourceforge에서 제공되지만 2.0 v. 2.0을 판매하는 것처럼 보입니다).

편집하다: Rules Engine (추론 엔진)에 의해 Rete 또는 동등한 구현을 의미합니다.

도움이 되었습니까?

해결책

Python의 Rete 기반 규칙 엔진 검색에서 피케 또는 파이 클립 당신이 사용하고 싶은 사람 일 수 있습니다.

추신 : Pyke에 대한 S.Lott의 답변에 의견을 남겼습니다. 나는 그의 제안에 따라 별도의 답변을 게시했으며 다른 독자들 에게이 답변에 언급 된 규칙 엔진이 그들이 검색하는 경우 가능한 선택 일 수 있음을 쉽게 알리도록했습니다.

다른 팁

당신은 볼 수 있습니다 클립 이미 제안한대로, 돈을 지불하거나 필요로하는 경우 rete2. 나는 과거에 유닉스에서 클립을 사용하여 다른 응용 프로그램에 성공적으로 내장했습니다.

도움이 되었기를 바랍니다.

룰비 루비로 작성된 규칙 엔진입니다. Rubyhoedown 2008에서 프레젠테이션의 대상이되었습니다. Ruleby-Rule-Engine-Ruby

Pychinko는 한동안 주변에있었습니다. 나는 그것을 생산에 사용한 적이 없지만 잠시 동안 가능한 생산 응용 프로그램을 위해 조사했습니다. 그것은 매우 좋은 기능과 괜찮은 사용자 커뮤니티를 가지고있는 것 같습니다.

http://www.mindswap.org/~katz/pychinko/

사실상 파이썬 ~이다 규칙 엔진.

"엔진은 누군가가 방을 떠날 때 조명을 끄는 것처럼 집을 자동화하는 방법으로 사용됩니다."

센서와 컨트롤러가 필요합니다. "규칙"을 일반 파이썬 객체로 작성합니다.

주요 "프로그램"은 센서에서 이벤트를 수집하고 컨트롤러로 이벤트를 보냅니다.

일반 USB를 통해 센서에서 읽을 수 있다면 더 좋습니다. 해양 산업은 센서에서 컨트롤러로 버스의 트래픽을 지정하기 위해 NMEA 0183 및 NMEA 2000과 같은 몇 가지 밀접하게 관련된 표준을 사용합니다.

또 다른 규칙 언어가 필요하지 않습니다. 당신은 파이썬이 있습니다.

Rulecore는 실제로 파이썬으로 부분적으로 작성되었습니다. 그러나 그것은 실제로 중요하지 않습니다. 사용자로서 귀하는 어쨌든 이러한 구현 세부 정보를 보지 못할 것입니다.

규칙은 순전히 선언적이고 XML을 사용하여 정의됩니다. XML은 웹 서비스 또는 JMS 또는 기타 프로토콜을 사용한 이벤트로 Rulecore CEP 서버로 전송됩니다.

다음은 Java의 13 개의 오픈 소스 규칙 엔진 목록입니다. 드로스는 아마도 이들 중 최고 일 것입니다. http://java-sources.org/open-source/rule-engines

나는 Rulecore가 Python으로 작성된 일부 부품을 가지고 있다는 것을 알고 있습니다. 그러나 API는 XML 및 ActiveMQ 또는 WebServices를 사용하므로 추상화 수준이 높습니다.

네브리 홈 자동화 및 기타 소프트웨어/기계에 대한 규칙을 작성하는 가장 쉬운 방법입니다. 다음은 Light 차단을 수행하는 예입니다.

class high_temp_shutdown(NebriOS):
    listens_to == ['shared.pebble_location'] 


    def check(self):
        # if pebble dongle is out or room, return true
        return shared.pebble_location > 3 # in meters

    def action(self):
        smartthings.lights(2,"off")

스크립트에 사용할 기존 라이브러리를 설치할 수 있기 때문에 집을 자동화하기위한 완벽한 도구입니다. Nest, Smartthings, Sen.se 등. 그것은 단지 파이썬입니다!

그리고 Python이 규칙 엔진 자체가 아닌 이유에 대한 자세한 설명은 이 기사. 파이썬 자체가 규칙을 실행할 수 있기 때문에 규칙 엔진이 없습니다. 실제로 거대한 건축 적 변화입니다.

파이썬으로 간단한 규칙 엔진을 씁니다. 규칙을 JSON 또는 YAML 문자열에 저장 하고이 규칙 엔진을 사용하여 규칙과 컨텍스트와 일치합니다.

https://github.com/tclh123/rule

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top