[Mulgara-dev] simple app for functional groupings

Amit Kapoor amitkapoor at mindspring.com
Tue Mar 11 06:43:34 UTC 2008


Hi William,

    We have something similar for Topaz at a general level and have slightly
    different nomenclature.

On Mon, Mar 10, 2008 at 05:49:20PM -0700, William Mills wrote:
> I have a relatively simple app I want to play with in Mulgara, which is doing
> functional groupings of machines.  In it I have:
> 
> roles:      a named grouping of other roles, machine expressions, and machine
> names.

    We call this an Aggregation. It is identified by a URI. An Aggregation can
    have another Aggregation as a member (along with other 'resources').

> machine expressions:     a regexp like string used to define a list of
> hostnames, i.e. www{1-4,6}.mulgara.org whih identifies 5 hosts.

    We call these the rules that define what 'resources' are members of what
    Aggregation. We have a slightly more generalized rule definition.
    Membership can be defined explicitly by adding to a list in the Aggregation
    or based on property of the resource. For example, for PLoS, Journal is an
    aggregation and you can add an article explicitly to a journal or defined
    based on eIssn value property of the article URI. This allows the same
    article to be members of multiple journals.

    We have not modelled the rules in RDF or SWRL etc. We have a 'binary'
    syntax right now, but we are still debating various aspects of the choices
    we made here.

> machine names:                a simple machine name like www1.mulgara.org

    These are the actual underlying resource and need to be identified by a
    URI. For PLoS, for example, the underlying resource can be a article,
    issue, volume, etc.

> What is the best (if there is one)  RDF way to structure this so that I can
> easily get 

    Just for discussion sake, I will summarize that our internal debate can be
    characterized into two extreme positions:

    a. To add additional triples to assert 'membership' at insertion time of
       the resource. You can choose to do this via rules inbuilt into Mulgara.

    b. To determine membership at query time. We have gone this route and have
       found it useful for one of our requirements to limit resources based on
       journal context. Thus a user visiting the site within the context of
       'Journal A' does not see any articles that are not its members.

    One of the key reasons for us was the temporal nature of the information.
    How often do you expect your 'resources' to change? How often do you expect
    your 'rules' to change? PLoS in the long run wanted users to be able to
    define their own 'journals' and hence for us that meant a very dynamic
    environment and our choice. Unfortunately there is a slight cost in terms
    of complexity and performance.

    You might also want to take a look at POWDER as well as OAI-ORE work. Feel
    free to look at the Topaz source code at (http:/www.topazproject.org/).
    Ronald and Pradeep can provide more information so you can post either to
    this list or topaz-dev.

    regards

Amit



More information about the Mulgara-dev mailing list