Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Represent facts about facts???

Harald Weis harweis at gmail.com
Tue Feb 17 09:12:26 PST 2009


My main problem is probably that I do not really understand
reification and its consequences.
To me it looks as if reification simply destroys the idea
that "everything is a triple" and consequently, the 
expectation that a triple store can be queried as if 
everything indeed was a triple. 

So if some of my facts are stored in their original form
and some *need* to be stored in reified form (because that is the
only way to store meta-information about them), how am I 
supposed to query the triple store (e.g. using SPARQL)
without everything getting extremely fussy?

For example the simple fact
  :Ind1 :hasProp1 :Ind2
would *not* appear anymore as a result of the query
  select ?s ?o where { :s :hasProp1 :o }

If other kinds of triples apart from just assertions about
individuals also need to be reified because of annoations
things will get even messier.

And things get still messier when the need arises to 
update an ontology/rdf-store by removing, changing or 
adding things: in all these cases I would have to worry
about reification just because I want to be able to 
store facts about some of the facts (which forces me to
use reification). 


On Tue, 2009-02-17 at 11:20 -0500, James Howison wrote:
> These are all really interesting questions.  If you had both the  
> actual triple and the reified triple then you would have issues, I  
> think, since I'm imagining the objective is to be able to query (or  
> even reason) based on the source (or in other applications the  
> certainty etc).  If you excluded a statement based on some property of  
> its reification, then how would you exclude the non-reified version ...
> 

Well, reasoning I would not need. 
Since the source would be an annotation, I would not
be able to reason about it anyways because annotations do not change
the semantics of the ontology. 
Being able to just query the source if necessary and available would
already be a success.

What I do not know is whether the "duplication" of a fact by 
having it both in its "original" and its reified form would cause
any problems. Logically, one should be just redundant with the other
so it should be fine.

And for querying, having both would solve the issue of missing 
reified statements with simple SPARQL queries as explained above.
So -- if this indeed does not cause major trouble, why not have
the original and the reified form at the same time?


> I know that Jena has different reification styles, which might affect  
> some of your questions, they are discussed here:
> 
> http://jena.sourceforge.net/how-to/reification.html
> 
I am not sure if this is actually *different*. If rdf:Statement
is a superclass of owl:Axiom it might just be more general than
what happens in OWL2 for Annotations.


> However their impact on reasoning isn't clear to me from that.
> 
Same here :)

H.




More information about the protege-owl mailing list