저는 TopBraid Composer Free Edition을 사용하여 온톨로지와 스핀 규칙을 작성하고 있습니다. TopBraid Composer Free Edition에서 저장 한 RDF 파일을 사용하여 Sesame OpenRDF Workbench에 내 온톨로지를로드하고 있습니다.SPIN 규칙에 Active/Inactive 개념을 추가하는 방법은 무엇입니까?
나는 수백 개의 규칙 중 어느 것이 적용되어야하는지 동적 인 SPIN 규칙 (더 정확하게는 SPIN 생성자)을위한 응용 프로그램을 가지고 있습니다. SPIN 규칙에 "활성"또는 "비활성"의 개념을 추가하는 방법을 찾고 싶습니다. WHERE
절의 각 규칙에 체크를 추가하여 "활성"규칙 만 기꺼이 기꺼이합니다. 설명하기 위해 SPIN : constructor의 두 하위 속성을 만들고이를 myPrefix:activeConstructor
및 myPrefix:inactiveConstuctor
이라고합니다.
은 이제 형태의 트리플 내 생성자의 WHERE 절에 추가 할 :
?thisConstructorURI a myPrefix:activeConstructor .
이 방법은 ?thisConstuctorURI
정의에 달려있다. SPIN은 규칙과 연관된 클래스의 현재 인스턴스에 ?this
을 설정합니다. 그 규칙의 URI와 비슷한 것이 있습니까?
나는 또한 규칙이 빈 노드에 있다고 생각한다. 예를 들어, 내 sxxicc의 생성자를 Pub7Proposal 클래스 참깨/OpenRDF 워크 벤치에서 볼 때 13 생성자에 대한 다음과 같은 트리플을 가지고
SUBJECT PREDICATE OBJECT
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14591
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14638
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14710
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14787
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14841
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox14927
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15002
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15088
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15114
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15195
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15257
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15336
sxxicc:Pub7Proposal spin:constructor _:node1anlqmpiox15377
정말 필요한 것은 (내가 생각하는)에
- 규칙입니다 스스로 (내
?thisConstructorURI
아이디어) - 것은 내가 그들을 쓸 때 규칙의 이름을 할 수 있기를 참조 할 수 있습니다 (예 :
sxxicci:Pub7ProposalSecurityClassificationConsistencyCheck
)
이것은 규칙을 하나씩 (또는 임의의 명명 된 그룹에서 간단한 확장으로) 활성화/비활성화 할 수 있도록하기위한 것입니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?
위의 1. 만족은 spin:ConstraintViolation
에 포함될 수있는 제약 조건에 대해 이미 지원되는 spin:violationSource
과 유사합니다. 그러나 제약 조건 대신 생성자를 사용하는 것은 의도적으로 클래스의 인스턴스화를 차단하고 싶지 않기 때문에 주로 의도적으로 사용하고 있습니다.
현재의 SPIN 표준 및 구현은이를 지원하지 않으며이를 지원하기 위해 표준을 확장하기 위해 지원 구현을 변경해야 할 것이라고 생각합니다.
나는 조금 진전되었지만 어색함. 생성자는 다음과 같은 고유 한 주석 문자열이 있다고 가정하여 자신을 찾을 수 있습니다. 'sxxicc : Pub7Proposal sxxicc : activeSxxiPub7ComplianceCheckRule? thisRule. ? thisRule rdfs : comment "주요 기능 식별 정보가 잘못되었습니다. (511 02)"^^ xsd : string .' –