N3Logic is broader than RDF, see

http://www.w3.org/DesignIssues/diagrams/n3/venn.png

Examples of incohent models

These examples of incohent models are detected by Euler without the need of a query.

$ cat disj4.n3
prefix : <http://eulersharp.sourceforge.net/2007/07test#>.
:ind1 a :A, :B.
{?X a ?A, ?B} => {}.

To use the last SEM solver type this:

$ ./run.sh --sem disj4.n3 | ./sem
...
[ e:falseModel {}].
#ENDS 469 msec.

where the sem script is:

pl -g "[sem],main,halt"

and the run.sh script is:

java -cp bin/Euler.jar:bin/Euler_Tests.jar:lib/tuprolog.jar euler.EulerRunner $*

a more meaninful example is actually

@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix : <http://eulersharp.sourceforge.net/2007/07test#>.
:ind1 a :A, :B.
{?X a :A, :B} => {}.

or even

@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix : <http://eulersharp.sourceforge.net/2007/07test#>.
:ind1 a :A, :B.
:A owl:disjointWith :B.
{?X owl:disjointWith ?Y. ?Z a ?X. ?Z a ?Y} => {}.

The last line reads:

If X is disjoint with Y, and Z is both a X and a Y, then the model is inconsistent.

This rule is present, along with 154 others, in owl-rules.n3 .

Euler and Descrption Logic reasonners

I'm delighted by the answer that there is nothing to ask to detect an

> inconsistent individual.

>

> Now, if I want to detect an unsatisfiable OWL class, I'll just have to

> instanciate an individual in that class.

> But, if I have a whole OWL model, wouldn't that be quicker to launch a

> OWL reasonner to detect unsatisfiable OWL classes ?

Yes, that will normally be more performant with a dedicated

DL reasoner but not necessarily when you use OWL Full

and I'm in the latter camp (see also Pat Hayes and others)

> And what about classification of a whole OWL model ?

> Can I write an Euler query whose solution will be all the

> subsumption relations ?

It is not possible to write the whole of all possible

OWL classes in rules, but we found it practical to

formulate rules for practical applications and then

that should be no problem, just writing queries like

{?X rdfs:subClassOf ?Y} => {?X rdfs:subClassOf ?Y}.


Is there a convenient editor for N3 including rules ?

Are you going sometimes on the #swig IRC channel on FreeNode?