- From: Didier VILLEVALOIS <dvillevalois@techmetrix.net>
- Date: Tue, 11 Jun 2002 16:19:11 +0200
- To: www-rdf-logic@w3.org
Hello, I'm working on the implementation of a query-engine/reasonner in PHP. My reasonner now works quite well (I will announce the soon to come release on this list). In order to simplify the construction of the perspective (what i take from the SW) to query, i use the concept of models. There are two types of models: - metadata models (which are factual models) - rule set definitions instance models Those last models are in fact instances of skolem models as defined by Triple. Skolem models are forall quantified with some model variables (the arguments). When you write rules for a skolem model you may refers to what is asserted in the arguments with the '@' operator. I'm now looking for the equivalence between N3 formulas and Triple skolem models, as i want to integrate a N3 parser. It seems that the 'log:includes' property plays in N3 the same role as the '@' operator in Triple. Am i wrong? It also seems that i can quantify formulas with variables that are also models. My problem is how do i refer to the instanciation of a given formula for some variables. The only mean i found is to create a predicate that relates the input model and the ouput model. Here is a simple example that copies all the statements: <n3> # The property to relates the two models :modelCopy a rdf:Property. # The model definition { this log:forAll :model, :modelWithMT. { { this log:forAll :s, :p, :o. { :model log:includes { :s :p :o } } log:implies { :modelCopy log:includes { :s :p :o } } }. } log:implies { :model :modelCopy :modelWithMT } } # An all-statements query { this log:forAll :s, :p, :o. { [ is :modelCopy of [ is log:semantics of <toto.rdf>] ] log:includes { :s :p :o } } log:implies { } } </n3> Is this a correct peace of code ??? Thanks for your help. Didier.
Received on Tuesday, 11 June 2002 10:19:14 UTC