Skip to Content.
Sympa Menu

piw - Re: PIW Relationships Modelling

piw AT lists.ibiblio.org

Subject: Permaculture Information Web

List archive

Chronological Thread  
  • From: Richard Morris <webmaster AT pfaf.org>
  • To: Permaculture Information Web <piw AT lists.ibiblio.org>
  • Subject: Re: PIW Relationships Modelling
  • Date: Sun, 17 Jul 2005 21:08:50 +0100

Chad Knepp wrote:
Marco Stahl writes:
> > Von: Sean Maley <semaley AT yahoo.com>
> > > Example:
> > > > > > entity | parent
> > > ---------------
> > > creature NULL
> > > animal creature
> > > plant creature
> > > bean plant
> > > hemp plant
> > > > Where searches represent the fundamental activity with
> > the dataset, OLAP, we may consider keeping the schema
> > denormalized; creature_type: A, M, V (animal, mineral,
> > vegetable) rather than get into hierarchical data
> > sets.
> > > > --------------------
> > |creature_dimension|
> > --------------------
> > |creature_key | : hemp, bean, etc
> > |creature_type_key | : A, M, V
> > |ground_depth |
> > |height |
> > |.... |
> > --------------------
> > Thats for sure faster and easier to implement.
> But I'm a friend of putting so much knowlege as possible into the modell
and
> the "source database".
> (And i'm influenced maybe to much from objectorientated programming)
> > Something like > > entity | output
> ----------------------
> Leguminosae nitrogen
> animal shit
> > would simplefy the adding of new plants(and other entitys), creating
> patterns for groups of plants(and other entitys), adding/changing > properties/patterns for whole plant(entity)groups.

My proposal attempts to solve this with the use of sets. Example:

entity | output
--------------------------------------
set(all Leguminosae) nitrogen fixing

> If the system is to slow in the end, we can use cached demormalized ,
"flat"
> entity/input/output/whatever-tables for increasing search-speed.
> There is no reason to go through the hierarchy every time but its good to
> have the hierarchy in the background.

Premature optimization is the root of all evil ;-)

> Saludos, Marco

Ok, I'm still not sure about why this is important but I see it at
best as being 5-6 levels of hierarchy which will not affect
performance. Something like:
entity | parent
---------------
creature NULL
animal creature
plant creature
leguminosae plant
soya leguminosae
max soya
'Chiffumy' max

The real problem with this is that entity will not be unique which
requires you to know a little more about the entity than just the top
level. Starting with the just cultivar for example may lead to a
tomato, an apple, and a flower.


The following is the types of relationship offered by the
OWL Web Ontology Language. These are generally the bits in the middle
of a relationship

Class (Thing, Nothing)
* rdfs:subClassOf
* rdf:Property
* rdfs:subPropertyOf
* rdfs:domain
* rdfs:range
* Individual
Allows an Object oriented structure to data.

(In)Equality:
* equivalentClass
* equivalentProperty
* sameAs
* differentFrom
* AllDifferent
* distinctMembers
Whether two plants are the same?


Property Characteristics:
* ObjectProperty
* DatatypeProperty
* inverseOf
* TransitiveProperty
* SymmetricProperty
* FunctionalProperty
* InverseFunctionalProperty
These can express if a relationship is bidirectional or uni directional.


Property Restrictions:
* Restriction
* onProperty
* allValuesFrom
* someValuesFrom

Restricted Cardinality:
* minCardinality (only 0 or 1)
* maxCardinality (only 0 or 1)
* cardinality (only 0 or 1)
Is this a 1 to 1 or 1 to many relationship?

Header Information:
* Ontology
* imports

Class Intersection:
* intersectionOf

Versioning:
* versionInfo
* priorVersion
* backwardCompatibleWith
* incompatibleWith
* DeprecatedClass
* DeprecatedProperty

Annotation Properties:
* rdfs:label
* rdfs:comment
* rdfs:seeAlso
* rdfs:isDefinedBy
* AnnotationProperty
* OntologyProperty

Datatypes
* xsd datatypes

OWL is generally used with RDF triples and provides a lot of the basic machinary needed to construct a sospticated structure.

Some of the above discssion seems to relate t some of the QWL concepts.

OWL constructs would allow us to express the different types of relationship. For examples
we could say that
"Heigth is a property of a Plant"

It might make discussions easier as it gives a vocabulary for
discussing how to do relationships well.

ttfn

Rich




Archive powered by MHonArc 2.6.24.

Top of Page