ParSolutionExam2008-09

Aus Semantic-Web-Grundlagen

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Aufgabe (2.d)

Step 1: using triples "ex:obama ex:diskutiertMit ex:mccain" and "ex:dikutiertMit rdfs:subPropertOf ex:sprichtMit"

in rule rdfs7 by setting,

  • a = ex:diskutiertMit
  • b = sprichMit
  • u = ex:obama
  • y = ex:mmcain

We get the conclusion:

"ex:obama ex:sprichtMit ex:mccain"


Step 2:

Using triples "ex:obama ex:sprichtMit ex:mccain" and "ex:sprichtMit rdfs:domain ex:Mensch" in rule rdfs2 by setting,

  • a = ex:sprichtMit
  • x = ex:Mensch
  • u = ex:obama
  • y = ex:mccain

we get the conclusion:

"ex:obama rdf:type ex:Mensch"

Step 3: Using triples "ex:Mensch rdfs:subClassOf ex:Lebewesen" and "ex:obama rdf:type ex:Mensch" in rule rdfs9 by setting,

  • u = ex:Mensch
  • x = ex:Lebewesen
  • v = ex:obama

we get the conclusion:

"ex:obama rdf:type ex:Lebewesen"


And that is the answer.

Aufgabe 5

(a)

(i) alle Enkel von Rhea (ohne Mehrfachnennungen )
 PREFIX ex:    <http://example.org/>
 SELECT DISTINCT ?enkel
 WHERE {
        ex:Rhea    ex:mutterVon    ?kind.
        {
        {?kind     ex:mutterVon    ?enkel.}
        UNION
        {?kind     ex:vaterVon    ?enke.}
        }
       }
(ii) alle ehelichen Kinder alphabetisch geordnet nach deren lateinischen Namen.
PREFIX ex:    <http://example.org/>
 SELECT DISTINCT ?kind
 WHERE {
        ?mutter    ex:mutterVon    ?kind.
        ?vater     ex:vaterVon     ?kind.
        ?kind      ex:name         ?name.
        OPTIONAL {?mutter   ex:gatteVon   ?vater}
        FILTER (!BOUND(?vater))
       }
 ORDER BY ?name

The filter throws away any ?kind whose mother is wife of someone.

(iii) alle Geschwisterpaare die zusätzlich miteinander verheiratet sind.
SELECT DISTINCT ?paar1, ?paar2
 WHERE {
        {
        {?mutter    ex:mutterVon    ?paar1.
        ?mutter    ex:mutterVon    ?paar2.}
        UNION 
       {?vater     ex:vaterVon     ?paar1.
        ?vater     ex:vaterVon     ?paar2.}
       }
       {?paar1   ex:gatteVon     ?paar2.
       UNION
        ?paar2    ex:gatteVon    ?paar1.}
       }

There are other ways to model this query. What we have done here is that we check for all childer with same mother or same father and then check if one is the gatteVon the other.

(iv) alle Mütter und, falls angegeben, deren Eltern

I am assuming the query is asking for "all mothers and if given their parents"

PREFIX ex:    <http://example.org/>
 SELECT DISTINCT ?mütter, ?elt1,  ?elt 2
 WHERE {
        ex:mütter    ex:mutterVon    ?kind.
       OPTIONAL
        {
        ?elt1     ex:vaterVon    ?mütter.
        UNION
        ?elt2     ex:mutterVon    ?mütter.
        }
      }

Aufgabe 4

(e)

Brad ist Schauspieler
 <rdf: Description rdf:ID = "Brad">
 <rdf:type rdf:resource = "Schauspieler"/>
 </rdf:Description>
Brad ist mit Angelina verheiratet
 <owl:ObjectPropertyAssertion>
   <owl:ObjectProperty rdf:ID="Verheiratet_Mit"/>
   <owl:Individual rdf:resource="#Brad"/>
   <owl:Individual rdf:resource="#Angelina"/>
 </owl:ObjectPropertyAssertion>
Schauspieler können nur mit Schauspielern verheiratet sein.
<owl:Class rdf:ID = "Schauspieler">
 <rdfs:subClassOf>
  <owl:intersectionOf rdf:parseType="Collection">
   <owl:Restriction>
     <owl:onProperty rdf:resource="Verheiratet_Mit" />
     <owl:allValuesFrom rdf:resource="Schauspieler"  />
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>
Jeder ist mit höchstens einer Person verheiratet.
<owl:Class rdf:ID = "Person">
 <rdfs: SubClassOf>
  <owl: Restriction>
   <owl:onProperty rdf:resource = "Verheiratet_Mit"/>
   <owl:maxCardinality rdf:datatype="xsd;nonNegativeInteger">
    1
   </owl:maxCardinalty>
  </owl:Restriction>
 </rdfs:SubClassOf>
</owl:Class>



Alle Frauen sind verliebt in Brad.
<owl:Class rdf:ID = "Frauen">
 <rdfs: SubClassOf>
  <owl: Restriction>
   <owl:onProperty rdf:resource = "Verliebt_In"/>
   <owl:allValuesFrom>
    <owl:Class>
     <owl:oneOf rdf:parseType="Collection">
      <rdf:Description rdf:about="Brad"/>
     </owl:oneOf>
   </owl:Class>
   </owl:allValuesFrom>
  </owl:Restriction>
 </owl:SubClassOf>
</owl:Class>
Persönliche Werkzeuge