On 08/04/2010 09:16, Ivan Herman wrote:
On Apr 7, 2010, at 14:45 , Dan Brickley wrote:
A guideline might be:
"As typing information become broader and more inclusive, they also
become less informative: to know that something is a "Thing" is rarely
useful. It is difficult to say whether a class is at a useful level of
specificity without taking into account other datasets, tools and
services that use it, however an intuitive grasp of "mid-level"
concepts often provides useful guidance. In addition, Linked Data apps
have a particular concern for cross-referencing information about
specific things, it is therefore often useful to include inferred
identifiers (owl:sameAs etc) based on analysis of properties
(owl:FunctionalProperty, owl:InverseFunctionalProperty) etc"
Ok that's not very friendly text but hope it might be useful.
Basically "rdf:type owl:Thing" is boring, but "owl:sameAs x:anotherID"
is very useful...
I am a little bit concerned by the open-endedness of this. As an information
consumer I would like to have at least some information or hints as for which
inferences are materialized and which are not.
As a thought experiment: what about providing a set of RIF (Core) rules that
describe which inferences are materialized? It is possible to express RDFS as
well as OWL-RL via RIF rules and, what is even more important in this context,
any subsets thereof. Human clients may look at those rules and, with little
training, may understand what is happening for the simpler cases; after all,
many publisher will decide to use 2-3 rules only (eg, subproperty and subclass
inferences). Machine clients may even choose to instantiate the inferences
themselves with some local rule engine if their CPU/bandwidth ratio makes that
more attractive.
I think that's a great suggestion. A good use for RIF Core - allows you
to separate the declaration of the inferences to be materialized from
how they are implemented.
What's more, since RIF rules can be identified by URIs (part of the
metadata infrastructure in RIF), then common inference patterns can be
easily denoted by just referencing published rules rather than having to
copy them out anywhere. Indeed you can have identifiers for groups of
rules, so a single URI for common patterns would be easy.
I know, the current RIF syntax is not all that beautiful (but I would hope that
alternative syntaxes will come to the fore, mainly if the demand is there) and
I am not sure whether rule engines, bound to RDF environments (like Jena Rules
or Fuxi) already implement RIF Core (although I believe/hope they would). But
that seems to be a possible way to go nevertheless...
A nicer RDF friendly syntax wouldn't be too hard.
We had planned for Jena to support RIF Core, the plans got put on ice
with all the disruptions for us last year but could be thawed out.
Dave