Metadata Strawman 1

Gary Hallmark <gary.hallmark@oracle.com> writes:
> -1 for RDF.  My rules product supports Java data and XML data but not 
> RDF data.  In fact, we don't have any RDF capability in the "tech stack" 
> for Oracle Business Rules  (although there are other Oracle products 
> that do).  Mandating RDF in Core will raise the implementation cost of 
> RIF translators for existing rule systems that otherwise do not use RDF 
> to unacceptably high levels. 
> I very much favor having meta-data.  We should have a small set of 
> standard properties like ruleset name, rule name, 
> modification/translation history, etc. and allow additional 
> (non-standard) properties as well.  This should be specified using the 
> same abstract syntax notation used in the Core and should end up as both 
> a human readable syntax and more importantly as part of the Core XML schema.

What about if the "RDF" we're talking about is the RIF subset of RDF?
Here's a strawman proposal to show how that might be done, without
causing you much implementation burden....

As I understand it, RIF will have some construct for stating
property-values triples, in conditions, in a way which matches F-Logic
and (Skolemized) RDF.  It should more-or-less line up with Java data and
XML data, although I'm not exactly sure what you mean by those terms.  

The abstract syntax in the working draft is:

   class ATOMIC

       subclass Equal
          property side: list of TERM

       subclass Uniterm

and I think we've decided, in principle, to add

       subclass Triple
          property subject: TERM
          property property: TERM
          property value: TERM

So, for this strawman proposal for including metadata in RIF, let's add
a 'metadata' property to Ruleset:

      class Ruleset
         property formula : list of RULE
         property metadata : list of Triple

(We may want to restrict it further, not using TERM, but only Const.)

Another aspect of saying "let's use RDF" for metadata is that we
leverage existing vocabularies.  For instance, if you want to say who
authored a rule, you can use the property with the URI
"http://purl.org/dc/elements/1.1/creator" (commonly just called
"dc:creator"), which is a property managed by the Dublin Core Metadata
Initiative [1], etc.

It's not clear to me whether we (as RIF-WG) want to 
    (1) say you should use that URI
    (2) make up some other URI for the author/creator property
    (3) remain agnostic/silent on the question.
In any case, this RDF-inspired approach lets us make this choice, as we
like, for each property in question.

I should say that I can imagine other approaches to metadata, and this
may not be the best one -- it's just a strawman that I think will work,
and not cause too much implementation burden.

     -- Sandro
    
[1] http://dublincore.org/

Received on Wednesday, 9 May 2007 23:03:14 UTC