Hi Peter!

Sorry for delaying this one.
Let me clarify a little bit that notion of "schema" you are referring to.

I'm guessing that to you schema is the RDF files you are importing via 
the "imports" parameter in the OWLIM repository configuration. Well, it might 
be useful to make distinctions between schema and instance data (T-BOX/A-BOX 
type of distinction) but in practice this ends up being RDF data in one and 
the same repository. So there is no big difference if you load RDF files 
using import (as a schema) or by adding them e.g. statement by statement 
through RepositoryConnection. Ultimately, the "imports" is handy because it 
parses data, adds it into the repository and commits during the 
initialization process. This means that the data is already loaded, 
inferences inferred till the moment you get your connection.

So there is nothing wrong with the scenario you described. The rdf:type 
relations got inferred when you imported the "schema" which effectively added 
it to the repository and executed commit().

As of inconsistencies, our understandings of that term are clearly different. 
To me, the fact that a property is not yet defined doesn't prohibit its 
usage. You might think of this as an instance of the OWA paradigm. However, 
the semantics of certain OWL constructs e.g. disjointWith makes certain 
combination of statements inappropriate (in other words render the whole 
theory underlying the repository inconsistent). That is if class is declared 
disjoint with another but there is a single instance which belongs to both 
classes, your theory is broken, inconsistent, according to OWL semantics. 
Futher on, no theory extension would possibly make it to consistency.

In order to detect such inconsistency, OWLIM (recent versions) support an 
informative feature which verifies incoming data for some inconsistency 
patterns (defined by the ruleset author) and prints out errors (without 
preventing the transaction from entering the repository). Such form of 
inconsistency checking is supported by OWLIM.

I hope this makes it all a bit more clear.


Cheers,
Ivan


On Thursday 04 February 2010 15:22:28 Peter Kostelnik, PhD. wrote:
> hi there,
>
> > Inferences are done only on transaction commit. If you add schema/rules
> > later
> > this won't cause the inference engine to produce any more inferences
> > about the old data. It will only affect further updates on the
> > repository.
>
> well, than I'm getting something wrong .. here is the simple scenario,
> which I've tested right now:
> 1. init empty repo, load pure data into repository, no schema and shut
> down .. data contain statements defining the rdf:type property, namely
> (realy simplified example, just to illustrate):
>
> http://some.person/1 rdf:type our:Partner
> http://some.person/2 rdf:type our:Director
>
> then I fire SPARQL query:
> select ?p where {
>   ?p rdf:type our:Person
> }
>
> asking on person, but data are explicitelly linked only to some partners
> or directors .. no mention about any kind of Person ..
> of course, no results .. shutdown repository
>
> 2. init previously filled repo, load schema - only schema, no data ..
> schema contains also definitions:
>
> our:Partner rdfs:subClassOf our:Person
> our:Director rdfs:subClassOf our:Person
>
> immediatelly after loading the schema, fire query:
>
> select ?p where {
>   ?p rdf:type our:Person
> }
>
> .. then shutdown ..
>
> and I'm getting the results for all instances with rdf:type, which is
> subclass of Person (this information came into repo only when schema
> (without any new data) was loaded).. then, how is it with inferences, when
> they are done only when data are commited? .. or does it work on old data
> when schema is commited? .. I'm bit conused right now ..
>
> > As for the inconsistencies checking -- the fact that a statement doesn't
> > conform to any schema doesn't make it inconsistent. One needs to specify
> > explicitly which statements are inconsistent.
>
> we'll what is your interpretation of inconsistent data? .. just to have
> the notion and understand .. for me, inconsistent is every priece of data,
> which doesn't conform some schema ..
>
> thanks, cheers,
>                       Peter K.
>
> > On Wednesday 03 February 2010 14:52:45 Peter Kostelnik, PhD. wrote:
> >> hi, Ivan,
> >>
> >> thanks a lot ..
> >>
> >> to the logging inconsistencies stuff: I'm forcing OWLIM to assert as a
> >> rule some conclusion e.g. rdf:type not:existing which is not in the
> >> schema
> >> (cause I don't use (ups, accidentaly :) ) any schema for this nasty
> >> experiments :) ) .. but only log, which can be related to the
> >> inconsistency is just something like:
> >>
> >> Note: sun.tools.javac.Main has been deprecated.
> >> 1 warning
> >> pack + className:com.ontotext.trree.Rules_2HashInferencer_605577
> >> Rule set compiled.
> >>
> >> but I guess thats not it .. so, pls, how can I get the logs? .. I'm
> >> using
> >> BigOWLIM 3.2.a7
> >> btw: are there some consistency checks for triples which don't match any
> >> allready existing schema (I mean to be really consistent)?
> >>
> >> I have one more question regarding inference machine of BigOWLIM:
> >> pls, how does it work? .. which inferences (I mean inferred assertions)
> >> are done on-the-fly and  which are generated when loading the data? ..
> >> cases, which I have on my mind at this very moment: now I know, that
> >> rules
> >> generate assertions, when data are inserted .. but, how is it with the
> >> schema? .. when I load some data into repository without schema, then I
> >> shut down repo, then init and add only schema, inferences throught e.g.
> >> rdf:type are done on the fly (using SPARQL - asking on generic rdf:type)
> >> .. so, pls, can you give a short overview of inferencing machine of
> >> BigOWLIM? .. just to know, what and how to use ..
> >>
> >> thanks a lot, cheers,
> >>                               Peter K.
> >>
> >> > On the consistency issues -- we do have a mechanism for logging
> >> > inconsistencies according to some rules, defined in the custom
> >>
> >> ruleset.
> >>
> >> > However it only logs inconsistencies on the standard output (or some
> >> > predefined java PrintStream). It currently doesn't prevent them from
> >> > entering
> >> > the repository. If such a mechanism would work for you -- let me know
> >> > (you will need a 3.2.x BigOWLIM to have this working).
> >> >
> >> > About the Lucene and logging customization -- we're on it and we
> >>
> >> haven't
> >>
> >> > forgotten you :) These are still in progress.
> >> >
> >> > As of OWLIM-as-a-server setup -- we are usually using Sesame server as
> >> > well.
> >> > One possible way of speeding up the communication to this server is to
> >> > use the Sesame's own tuple result binary format
> >> > (TupleQueryResultFormat.BINARY)
> >> > as preferred tuple query result format of HTTPRepository. This
> >> > significantly
> >> > reduces the overhead of serializing/parsing the SPARQL query results.
> >> > Hope this helps!
> >> >
> >> >
> >> > Cheers,
> >> > Ivan
> >> >
> >> > On Wednesday 03 February 2010 12:49:28 Peter Kostelnik, PhD. wrote:
> >> >> hi, Ivan,
> >> >>
> >> >> allright, thanks a lot..
> >> >>
> >> >> anyway, got some other questions :)
> >> >>
> >> >> .. the inferences defined in .pie rule sets are able to infer the new
> >> >> assertions without any need of meta-data/schema .. is there some
> >> >> validation mechanism, which can be used to hold the data consistent
> >> >> against the schema?? .. now we can assert anything (having the schema
> >>
> >> or
> >>
> >> >> not, OWLIM does not care)
> >> >>
> >> >> and .. some additional stuff (just pinging, as usual :) ):
> >> >> how does it look with integration of lucene into BigOWLIM?
> >> >> and, is there some possibility to redirect/customize the logiing of
> >> >> BigOWLIM to some file or .. somewhere else than to standard E/O?
> >> >>
> >> >> and .. just being curious .. do you have some idea, how to make
> >> >> communication with remote BigOWLIM faster (we are running it on
> >>
> >> sesame
> >>
> >> >> server)? ..
> >> >>
> >> >> thanks in advance, cheers,
> >> >>                               Peter K.
> >> >>
> >> >> > Hey Peter,
> >> >> >
> >> >> > On your questions:
> >> >> >
> >> >> > 1. Your rules should reside within a single .pie file or a single
> >> >> > built-in ruleset. If you need to extend the owl-max or whichever
> >> >>
> >> >> built-in
> >> >>
> >> >> > ruleset, just copy the respective .pie file and extend/modify it as
> >> >>
> >> >> you
> >> >>
> >> >> > wish
> >> >> >
> >> >> > 2. Once loaded with some ruleset, your data will get enriched with
> >>
> >> the
> >>
> >> >> > inferred closure of the loaded dataset (according to the ruleset).
> >> >> > Changing
> >> >> > the ruleset afterwards will only affect future inferences (this is
> >>
> >> a
> >>
> >> >> side
> >> >>
> >> >> > effect of the forward-chaining strategy used by Owlim). We are
> >> >>
> >> >> thinking
> >> >>
> >> >> > about
> >> >> > building some mechanism able to reinfer the RDF closure at later
> >> >>
> >> >> stage,
> >> >>
> >> >> > but
> >> >> > this is still being planned. Until we have it implemented, changing
> >> >>
> >> >> the
> >> >>
> >> >> > ruleset will require reloading of the repository data.
> >> >> >
> >> >> >
> >> >> > Cheers,
> >> >> > Ivan
> >> >> >
> >> >> > On Wednesday 03 February 2010 12:25:25 Peter Kostelnik, PhD. wrote:
> >> >> >> hi there,
> >> >> >>
> >> >> >> I'm experimenting with custom .pie files in BigOWLIM and,
> >>
> >> amazingly,
> >>
> >> >> the
> >> >>
> >> >> >> few questions have arised :)
> >> >> >>
> >> >> >> so ..
> >> >> >>
> >> >> >> 1. is it possible to use more rules files? .. I mean, for example,
> >>
> >> to
> >>
> >> >> >> use
> >> >> >> owl-max rules and then, additionally, some custom rules in
> >>
> >> separate
> >>
> >> >> file
> >> >>
> >> >> >> (not to hold everything in one .pie file)
> >> >> >>
> >> >> >> 2. as there is no documentation available (or is it?), i've tried
> >> >>
> >> >> this
> >> >>
> >> >> >> setup: (a) loaded data into repository initialized with custom
> >>
> >> rule
> >>
> >> >> set
> >> >>
> >> >> >> and shutted down; (b) initialized repository with extended rule
> >>
> >> set
> >>
> >> >> >> without loading data again .. in this case, the rules were
> >>
> >> compiled,
> >>
> >> >> but
> >> >>
> >> >> >> inferences defined in extended rules were not asserted .. so:
> >> >> >> is there possibility, how to extend the rule set without reloading
> >> >>
> >> >> whole
> >> >>
> >> >> >> repository?
> >> >> >>
> >> >> >> thanks in advance,
> >> >> >>                           Peter K.
> >> >> >>
> >> >> >> _______________________________________________
> >> >> >> OWLIM-discussion mailing list
> >> >> >> [email protected]
> >> >> >> http://ontotext.com/mailman/listinfo/owlim-discussion
> >> >>
> >> >> _______________________________________________
> >> >> OWLIM-discussion mailing list
> >> >> [email protected]
> >> >> http://ontotext.com/mailman/listinfo/owlim-discussion
> >>
> >> _______________________________________________
> >> OWLIM-discussion mailing list
> >> [email protected]
> >> http://ontotext.com/mailman/listinfo/owlim-discussion


_______________________________________________
OWLIM-discussion mailing list
[email protected]
http://ontotext.com/mailman/listinfo/owlim-discussion

Reply via email to