protegeproject / swrlapi

Java API for working with the SWRL rule and SQWRL query languages
Other
99 stars 40 forks source link

Some possible mistakes in FAQ #54

Closed zhouyc98 closed 5 years ago

zhouyc98 commented 5 years ago

I spent some hours reading this FAQ https://github.com/protegeproject/swrlapi/wiki/SWRLLanguageFAQ and it is very useful.

But I think there may be some errors as follows.

1. In #Can Built-Ins Bind their Arguments?

Person(?p) ^ hasSalaryInPounds(?p, ?pounds) ^ swrlb:multiply(1.9, ?pounds, ?dollars) 
    -> hasSalaryInDollars(?p, ?dollars)

But in https://www.w3.org/Submission/SWRL/ it can be seen that:

  • swrlb:divide (from XQuery op:numeric-divide) Satisfied iff the first argument is equal to the arithmetic quotient of the second argument divided by the third argument.

So, I think the unbound dollars variable in multiply should be change to the first place:

swrlb:multiply(?dollars,?pounds,1.9)

2. In #Does SWRL adopt the Open World Assumption?

Publication(?a) ^ hasAuthor(?x, ?y) ^ hasAuthor(?x, ?z) ^ differentFrom(?y, ?z) 
    -> cooperatedWith(?y, ?z)

I think the Publication(?a) should be change to Publication(?x).

3. In #Does SWRL support OWL Full?

The SWRLAPI's implementation coupled with its support for user-defined built-ins allows some limited support for interacting with with OWL Full ontologies.

There is a duplicate with

4. In #Where are SWRL's Formal Semantics Defined?

...at the expense of )decidability

There is a extra ) before decidability.

Thanks again for the help that this FAQ brought to me.

martinjoconnor commented 5 years ago

Thanks! I just fixed these.