Hi Keith,

thanks a lot. I will definitely consider your patch soon. The current delay in 
doing so is due to the complete rewriting of the storage engine. But let us 
discuss your proposal first, since I feel there are some problems that may 
still need to be solved.

Inverse properties are of course a natural feature that is also available n 
the OWL DL ontology language which SMW uses for data export. A general issue 
with inverse properties, however, is that they can create performance 
problems in querying when further expressive features are added. Examples 
where such effects were studied are [1] and [2]. Of course, SMW wants its 
query evaluation to stay computationally tractable (i.e. polynomial), so we 
have to be a little bit careful here.

Even in the current simple case (where inverses certainly do not affect 
tractability yet), there are some effects that SMW's query engine would need 
to take into account:

(1) Properties that are inverse to themselves are symmetric.
(2) If P is inverse to Q, and Q is inverse to R, then P = R.
(3) If P is a sub-property of Q, then the inverse of P is a subproperty of the 
inverse of Q.
(4) Item (3) also works in similar ways with other situations, e.g. if a 
symmetric property is a sub-property of something else, then it is also a 
sub-property of its inverse.

Does your implementation currently take these effects into account? The 
problems do not become smaller if future extensions like transitivity are 
added. Maybe you can comment on your current approach to tackle these 
problems.


Regards,

Markus


[1] "Inverse Roles Make Conjunctive Queries Hard" (shows that the conjunctive 
querying problem for more expressive ontology languages jumps up in 
complexity by one exponential when inverse properties are added) 
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-250/paper_3.pdf
[2] "Pushing the EL Envelope" (shows that a polynomial sublanguage of OWL is 
no longer polynomial with inverses) 
http://lat.inf.tu-dresden.de/~clu/papers/archive/ijcai05.pdf

On Donnerstag, 5. Juni 2008, [EMAIL PROTECTED] wrote:
> Hi everyone
>
> Myself and a number of other MW enthusiasts host a couple of MW-based sites
> that make use of SMW.
>
> A problem I came across when working with semantic relations was the lack
> of inverse properties, a way to define a name for an opposite relation (A
> *is part of* B, therefore, B *contains *A).
>
> I have attempted to fix this issue with some minor changes to the SMW code.
> I am sure this is an obvious feature SMW will eventually have, as noted in
> the documentation.
>
> Here is an example of my use of the changes I made:
>
> http://www.nazuz.com/wiki/Heading_up_%28sailing%29 // this page contains
> the semantic data
>
> http://www.nazuz.com/wiki/Reducing_heeling_%28sailing%29 // this page has
> limited semantic data, but much inverse data
>
> http://www.nazuz.com/wiki/Property:Is_a_method_of // The inverse property
> of "Is a method of" is defined here. ( [[Inverse::Property:Can be achieved
> by]] )
>
> I also had to setup http://www.nazuz.com/wiki/Property:Inverse . //
> Explanation is on the page itself.
>
>
> All in all the changes were limited, but I ran into trouble with the
> printfactbox method as it runs inside a parser hook, and the idea is to
> load inverse properties even if there are no semantic syntax matches on the
> page. The printfactbox is running from the skin in my version.
>
> It would be nice to see this sort of possibility in future releases, as it
> provides a better way to navigate between pages using the semantic
> relations rather than the outdated category system. It is also a must for
> how-to wikis.
>
> I don't know if someone else has already done this but this way my approach
> in any case.
>
> Regards
> Keith



-- 
Markus Krötzsch
Semantic MediaWiki    http://semantic-mediawiki.org
http://korrekt.org    [EMAIL PROTECTED]

Attachment: signature.asc
Description: This is a digitally signed message part.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to