Sunday, January 25, 2009

Blatt 9

1.


a)


– Eine Vorlesung besteht aus einzelnen ”Vorlesungsstunden“ , die während eines Semesters stattfinden.

– Neben dem Semester gibt es auch die vorlesungsfreie Zeit.

– Eine Vorlesung hat einen oder mehrere Dozenten.

– Dozenten und Studenten sind Personen mit bestimmten Attributen.

– Eine Vorlesung kann im Rahmen des Bachelor- oder Masterprogramms stattfinden. 

– Eine Vorlesung zählt zu einem bestimmten Schwerpunkt. 

– Der Dozent kann zu einem bestimmten Lehrstuhl gehören. 

– Manche Vorlesungen haben zusätzlich eine Übung. 

– Vorlesungen, Übungen, Seminare und Praktika sind Lehrveranstaltungen. 

– Es gibt Vorlesungen mit 2 bzw. 4 SWS. 

– Zwischen Vorlesungen kann es Abhängigkeiten geben (z.B. muss man eine bestimmte Vorlesung gehört haben, bevor man an einer anderen teilnehmen kann...) 


<rdf:RDF

  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

  xmlns:owl="http://www.w3.org/2002/07/owl#"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

  xmlns:hpi="http://www.hpi.de/"

  xml:base="http://www.hpi.de/">


  <owl:Class rdf:resource="Vorlesung"/>

  <owl:Class rdf:resource="Vorlesungsstunde"/>

  <owl:Class rdf:resource="Semester"/>

  <owl:ObjectProperty rdf:about="bestehtAus">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Vorlesungsstunde"/>

  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:about="findetZeitlichStatt">

    <rdfs:domain rdf:resource="Vorlesungsstunde"/>

    <rdfs:range rdf:resource="Semester"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="VorlesungsfreieZeit">

    <owl:disjointWith rdf:resource="Semester"/>

  </owl:Class>


  <owl:Class rdf:about="Vorlesung">

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatDozent"/>

        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="Person"/>

  <owl:Class rdf:about="Dozent">

    <rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:Class rdf:about="Student">

    < rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:DatatypeProperty rdf:about="Attribut">

    <rdfs:domain rdf:resource="Person"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:Class rdf:about="Studium"/>

  <owl:Class rdf:about="Bachelor">

    < rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:Class rdf:about="Master">

    <rdfs:subClassOf rdf:resource="Person"/>

    <owl:disjointWith="Bachelor"/>

  </owl:Class>

  <owl:ObjectProperty rdf:about="findetStattIm">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Studium"/>

  </owl:ObjectProperty>


  <owl:DatatypeProperty rdf:about="Schwerpunkt">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:DatatypeProperty rdf:about="Lehrstuhl">

    <rdfs:domain rdf:resource="Dozent"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:Class rdf:about="VorlesungOhneÜbung">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

  </owl:Class>

  <owl:Class rdf:about="VorlesungMitÜbung">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <owl:disjointWith rdf:resource="VorlesungOhneÜbung"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatÜbung"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="Lehrveranstaltung"/>

  <owl:Class rdf:about="Vorlesung">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Übung">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Seminar">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Praktika">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>


  <owl:Class rdf:about="VorlesungMit2SWS">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatSWS"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>

  <owl:Class rdf:about="VorlesungMit4SWS">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <owl:disjointWith rdf:resource="VorlesungMit2SWS"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatSWS"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">4</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:ObjectProperty rdf:about="istAbhängigVon">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Vorlesung"/>

  </owl:ObjectProperty>


</rdf:RDF>



b)


Vorlesungen haben Belegungspunkte.


  <owl:DatatypeProperty rdf:about="Belegungspunkte">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/>

  </owl:DatatypeProperty>



Eine Vorlesung wird von mindestens einem Studenten besucht.


  <owl:Class rdf:about="Vorlesung">

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatBesuchendeStudenten"/>

        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>



Eine Vorlesung wird an einer bestimmten Uni gelesen.


  <owl:DatatypeProperty rdf:about="Uni">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>



Eine Vorlesung hat bestimmte Dozenten.


  <owl:DatatypeProperty rdf:about="Dozenten">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>



d)


Individuum Semantic Web


<hpi:Semester rdf:about="SiebentesSemester"/>

<hpi:Vorlesungensstunde rdf:about="ErsteVorlesungsstunde">

  <hpi:findetZeitlichStatt rdf:resource="SiebentesSemester"/>

</hpi:Vorlesungensstunde>

<hpi:Master rdf:about="MasterIT-SystemsEngineering"/>

<owl:Nothing rdf:about="Nothing"/>

<hpi:VorlesungMitÜbung rdf:about="SemanticWeb"> 

  <hpi:bestehtAus rdf:resource="Vorlesungsstunde"/>

  <hpi:hatDozent rdf:datatype="&xsd;nonNegativeInteger">1</hpi:hatDozent>

  <hpi:findetStattIm rdf:resource="Master"/>

  <hpi:Schwerpunkt rdf:datatype="&xsd;string">Internettechnologien</hpi:Schwerpunkt>

  <hpi:hatÜbung rdf:datatype="&xsd;nonNegativeInteger">1</hpi:hatÜbung>

  <hpi:hatSWS rdf:datatype="&xsd;nonNegativeInteger">4</hpi:hatSWS>

  <hpi:istAbhängigVon rdf:resource="Nothing"/>

  <hpi:hatBelegungspunkte rdf:datatype="&xsd;nonNegativeInteger">6</hpi:hatÜbung>

  <hpi:hatBesuchendeStudenten rdf:datatype="&xsd;nonNegativeInteger">32</hpi:hatBesuchendeStudenten>

  <hpi:Uni rdf:datatype="&xsd;string">UniPotsdam</hpi:Uni>

  <hpi:Dozent rdf:datatype="&xsd;string">DrHaraldSack</hpi:Dozent>

</hpi:VorlesungMitÜbung>



2.


a)


Human hasMother.Human


<owl:Class rdf:about="Human">

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hasMother"/>

      <owl:someValuesFrom rdf:resource="Human"/>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>



hasMother.( hasMother.Human) Grandchild


<owl:Class rdf:about="Grandchild"/>


<owl:Class>

  <rdfs:subClassOf="Grandchild"/>

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hasMother">

      <owl:someValuesFrom>

        <owl:Restriction>

          <owl:onProperty rdf:resource="hasMother">

          <owl:someValuesFrom rdf:resource="Human"/>

        </owl:Restriction>

      </owl:someValuesFrom>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>

    


Human(Thorsten)


<Human rdf:about="Thorsten"/>



b)


<owl:Class rdf:about="PizzaBelag">

<owl:Class rdf:about="Gemüse">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>


Gemüse PizzaBelag



<owl:Class rdf:about="PizzaBelag">

  <owl:disjointWith rdf:resource="Pizza"/>

</owl:Class>


PizzaBelag Pizza



<Gemüse rdf:about="Zucchini"/>


Gemüse(Zucchini)



<owl:Class rdf:about="Pizza"/>

<owl:Class rdf:about="PizzaBelag"/>

<owl:ObjectProperty rdf:about="hatBelag">

  <rdf:domain rdf:resource="Pizza"/>

  <rdf:range rdf:resource="PizzaBelag"/>

</owl:ObjectProperty>


hatBelag.T Pizza

T hatBelag.PizzaBelag



<owl:Class rdf:about="Pizza">

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hatBelag"/>

      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>


Pizza ≥2 hatBelag



<owl:Class rdf:about="Pizza"/>

<owl:Class rdf:about="PizzaMargarita">

  <rdfs:subClassOf rdf:resource="Pizza"/>

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hatBelag"/>

      <owl:someValuesFrom rdf:resource="Tomate"/>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>


PizzaMargarita Pizza

PizzaMargarita hatBelag.Tomate



<owl:Class rdf:about="PizzaOhneFleisch"/>

<owl:Class rdf:about="PizzaOhneFisch"/>

<owl:Class rdf:about="VegetarischePizza">

  <owl:intersectionOf rdf:parseType="Collection">

    <owl:Class rdf:about="PizzaOhneFleisch"/>

    <owl:Class rdf:about="PizzaOhneFisch"/>

  </owl:intersectionOf>

</owl:Class>


VegetarischePizza PizzaOhneFleisch PizzaOhneFisch



<owl:Class rdf:about="PizzaBelag"/>

<owl:Class rdf:about="PizzaMargarita">

  <rdfs:subClassOf rdf:resource="Pizza"/>

</owl:Class>

<owl:Class rdf:about="Fleischlos">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>

<owl:Class rdf:about="Fleisch">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>

<owl:Class rdf:about="Fleischlos">

  <owl:disjointWith rdf:resource="Fleisch"/>

</owl:Class>

<owl:ObjectProperty rdf:about="hatBelag">

  <rdf:domain rdf:resource="PizzaMargarita"/>

  <rdf:range rdf:resource="Fleischlos"/>

</owl:ObjectProperty>


PizzaMargarita Pizza

Fleischlos PizzaBelag

Fleisch PizzaBelag

Fleischlos Fleisch

hatBelag.T PizzaMargarita

T hatBelag.Fleischlos



3.


a) Zeigen Sie mit Hilfe des Tableaux Verfahrens, dass die folgenden Wissensbasis erfüllbar ist: 


Student besucht.Vorlesung

Vorlesung besuchtVon.(Student Fleissig)

Student(einStudent)

¬Fleissig(einStudent)



in Negationsnormalform umwandeln:


{¬Student besucht.Vorlesung, ¬Vorlesung besuchtVon.(Student Fleissig), Student(einStudent), ¬Fleissig(einStudent)}



Tableaux:

(1) (Student(einStudent))

(2) (¬Fleissig(einStudent))

(3) (¬Student besucht.Vorlesung) (einStudent)

(4 | β aus 3) (¬Student(einStudent))          (5 | β aus 3) (( besucht.Vorlesung) (einStudent))

                                                                          (6 | δ aus 5) (besucht(einStudent, VorlesungX))


...



b) Zeigen Sie mithilfe des Tableaux Verfahrens, dass die folgende Wissensbasis unerfüllbar ist:


Vogel Fliegt

Pinguin Vogel

Pinguin Fliegt

Pinguin(tweety)



in Negationsnormalform umwandeln:


{¬Vogel Fliegt, ¬Pinguin Vogel, ¬Pinguin ¬Fliegt , Pinguin(tweety)}


...



(c) Zeigen Sie mithilfe des Tableaux Verfahrens, dass ( R.E)(a) eine logische Konsequenz der Wissensbasis K = {C(a),C R.D, D E F, F E} ist.


Sunday, January 18, 2009

Blatt 8

1.


a)


IR = {α, β, γ, δ, τ, ζ, η, θ, λ, μ, ν, ξ, π, ρ, ϕ, χ, φ}

IP = {β, δ, ζ, ν, ξ, π, ρ}

LV = {}

IS = hpi:Thorben α

        hpi:verzehrt β

        hpi:Pizza γ

        hpi:hatNotwendigeZutat δ

        hpi:Mozarella τ

        rdf:type ζ

        hpi:KäsePhobiker η

        hpi:Gericht θ

        hpi:hatOptionaleZutat λ

        hpi:Zutat μ

        rdfs:subClassOf ν

        rdfs:domain ξ

        rdfs:subProperty π

        rdfs:range ρ

        hpi:Bedauernswert ϕ

        hpi:hatZutat χ

        rdfs:ContainerMembershipProperty φ


IL = {}

IEXT = β {α,γ}

             δ {γ,τ}

             ζ {α,η〉〈γ,θ〉〈τ,μ〉〈χ,φ}

             ν {η,ϕ}

             ξ {χ,θ}

             π {λ,χ〉〈δ,χ}

             ρ {χ,μ}



b)


– ein Tripel, welches einfach folgt

hpi:Thorben hpi:verzehrt hpi:Mozarella.

– ein Tripel, welches RDF-folgt, aber nicht einfach folgt

hpi:Thorben hpi:verzehrt hpi:Zutat.

– ein Tripel, welches RDFS-folgt, jedoch nicht RDF-folgt

hpi:hatOptionaleZutat rdfs:domain hpi:Gericht.



2.


a)


– Die Klasse Gemüse ist eine Unterklasse von PizzaBelag. 

– Die Klasse PizzaBelag hat keine gemeinsamen Elemente mit der Klasse Pizza. 

– Das Individuum Zucchini ist ein Element der Klasse Gemüse. 

– Die abstrakte Rolle hatBelag besteht ausschließlich zwischen Elementen der Klasse Pizza und 

der Klasse PizzaBelag. 

– Pizzen haben immer mindestens zwei Beläge. 

– Jede Pizza der Klasse PizzaMargarita hat Tomate als Belag. 

– Die Klasse VegetarischePizza besteht aus den Elementen, die sowohl in der Klasse PizzaOhneFleisch als auch in der Klasse PizzaOhneFisch sind. 

– Keine Pizza der Klasse PizzaMargarita hat Belag aus der Klasse Fleisch. 



<rdf:RDF

  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

  xmlns:owl="http://www.w3.org/2002/07/owl#"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

  xml:base="http://essen.de/">


  <owl:Class rdf:about="Gemüse">

    <rdfs:subClassOf rdf:resource="PizzaBelag"/>

  </owl:Class>


  <owl:Class rdf:about="PizzaBelag">

    <owl:disjointWith rdf:resource="Pizza"/>

  </owl:Class>


  <Gemüse rdf:about="Zucchini"/>


  <owl:ObjectProperty rdf:about="hatBelag">

    <rdf:domain rdf:resource="Pizza"/>

    <rdf:range rdf:resource="PizzaBelag"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="Pizza">

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatBelag"/>

        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="PizzaMargarita">

    <rdfs:subClassOf rdf:resource="Pizza"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatBelag"/>

        <owl:someValuesFrom rdf:resource="Tomate"/>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="VegetarischePizza">

    <owl:intersectionOf rdf:parseType="Collection">

      <owl:Class rdf:about="PizzaOhneFleisch"/>

      <owl:Class rdf:about="PizzaOhneFisch"/>

    </owl:intersectionOf>

  </owl:Class>


  <owl:Class rdf:about="PizzaMargarita">

    <rdfs:subClassOf rdf:resource="Pizza"/>

  </owl:Class>

  <owl:Class rdf:about="Fleischlos">

    <owl:disjointWith rdf:resource="Fleisch"/>

  </owl:Class>

  <owl:ObjectProperty rdf:about="hatBelag">

    <rdf:domain rdf:resource="PizzaMargarita"/>

    <rdf:range rdf:resource="Fleischlos"/>

  </owl:ObjectProperty>

  

</rdf:RDF>



b)


– Die Rolle hatZutat ist transitiv.

Ja, ist sinnvoll.

Beispiel:

Eine Pizza hat eine Zutat Tomatensauce und die Tomatensauce hat die Zutat Tomate, dann hat auch die Pizza die Zutat Tomate.


– Die Rolle hatBelag ist funktional.

Nein, ist nicht sinnvoll, da eine Pizza immer mehrere Beläge haben kann.

Beispiel:

Eine Pizza hat den Belag Tomate und den Belag Salami, dennoch ist eine Tomate nicht gleichzeitig eine Salami.


– Die Rolle hatBelag ist invers funktional.

Nein, ist ebenfalls nicht sinnvoll, da verschiedene Pizzen einen bestimmten Belag haben können.

Eine Pizza Salami hat den Belag Tomate und eine Pizza Margarita hat den Belag Tomate, dennoch ist eine Pizza Salami nicht gleichzeitig eine Pizza Margarita.



3.


a)


Jeder Mensch hat Eltern. Eltern setzen sich (üblicherweise) zusammen aus Mutter und Vater. Ein Mensch ist (üblicherweise) entweder männlich oder weiblich. Geschwister haben (meist) dieselben Eltern. Eltern sind (oft) miteinander verheiratet. Ein Bruder ist ein männliches Geschwisterkind. Eine Schwester ist ein weibliches Geschwisterkind. Ein Onkel ist stets der Bruder eines Vaters. Großeltern sind die Eltern der Eltern. Eine Familie umfasst (heute meist) Eltern und Kinder. Eine Großfamilie umfasst mehr als zwei Generationen. Eine kinderreiche Familie hat mehr als 4 Kinder. 



<rdf:RDF

  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

  xmlns:owl="http://www.w3.org/2002/07/owl#"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

  xmlns:s="http://stammbaum.de/"

  xml:base="http://stammbaum.de/">


  <owl:Class rdf:about="Mensch"/>


  <owl:ObjectProperty rdf:about="hatEltern">

    <rdf:type rdf:resource="&owl;FunctionalProperty"/>

    <rdfs:domain rdf:resource="Mensch"/>

    <rdfs:range rdf:resource="Eltern"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="Eltern">

    <owl:equivalentClass>

      <owl:unionOf rdf:parseType="Collection">

        <owl:Class rdf:about="Mutter">

          <rdfs:subClassOf rdf:resource="Frau"/>

        </owl:Class>

        <owl:Class rdf:about="Vater">

          <rdfs:subClassOf rdf:resource="Mann"/>

        </owl:Class>

      </owl:unionOf>

    </owl:equivalentClass>

  </owl:Class>


  <owl:Class rdf:about="Mann">

    <rdfs:subClassOf rdf:resource="Mensch"/>

  </owl:Class>


  <owl:Class rdf:about="Frau">

    <rdfs:subClassOf rdf:resource="Mensch"/>

    <owl:disjointWith rdf:resource="Mann"/>

  </owl:Class>


  <owl:ObjectProperty rdf:about="istVerheiratet">

    <rdf:type rdf:resource="&owl;SymmetricProperty" />

    <rdfs:domain rdf:resource="Eltern"/>

    <rdfs:range rdf:resource="Eltern"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="Geschwister"/>

    <owl:equivalentClass>

      <owl:unionOf rdf:parseType="Collection">

        <owl:Class rdf:about="Bruder">

          <rdfs:subClassOf rdf:resource="Mann"/>

        </owl:Class>

        <owl:Class rdf:about="Schwester">

          <rdfs:subClassOf rdf:resource="Frau"/>

        </owl:Class>

      </owl:unionOf>

    </owl:equivalentClass>

  </owl:Class>


  <owl:ObjectProperty rdf:about="habenEltern">

    <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>

    <rdfs:domain rdf:resource="Geschwister"/>

    <rdfs:range rdf:resource="Eltern"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="Familie">

    <owl:equivalentClass>

      <owl:unionOf rdf:parseType="Collection">

        <owl:Class rdf:about="Eltern"/>

        <owl:Class rdf:about="Kinder"/>

      </owl:unionOf>

    </owl:equivalentClass>

  </owl:Class>


  <owl:Class rdf:about="Großfamilie">

    <rdfs:subClassOf rdf:resource="Familie"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatGenerationen"/>

        <owl:minCardinality rdf:datatype="&xsd;nonIntegerNumber">3</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="kinderreicheFamilie">

    <rdfs:subClassOf rdf:resource="Familie"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatKinder"/>

        <owl:minCardinality rdf:datatype="&xsd;nonIntegerNumber">5</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


</rdf:RDF>



Onkel und Großeltern fehlen.