owl:ObjectProperty

  • Die folgenden Sätze sagen aus, dass eine IRI eine object property ist

  • TTL: @prefix ex: <http://example.com/voc/mkgsA/> .
    @prefix owl: <http://www.w3.org/2002/07/owl#> .

    ex:connect a owl:ObjectProperty .
    JSON-LD: {"@context": {
    "ex": "http://example.org/voc/mkgsA/"
    "owl": "http://www.w3.org/2002/07/owl#"
    },
    "@id": "ex:connect",
    "@type": "owl:ObjectProperty"
    }
    OWL Manchester: @prefix ex: <http://example.com/voc/mkgsA/>
    @prefix owl: <http://www.w3.org/2002/07/owl#>


    ObjectProperty: ex:connected
    OWL Functional: Prefix(ex:=<http://example.com/voc/mkgsA/>)
    Prefix(owl:=<http://www.w3.org/2002/07/owl#>)


    Declaration(ObjectProperty( ex:connected ))
  • Eine owl:ObjectProperty, die ich im folgenden Eigenschaft nennen werde, verbindet zwei Individuen, zwei Entitäten miteinander.

    Dabei sagt die Semantik von OWL noch nichts darüber aus, was solch eine Verbindung genau bedeutet. Praktisch ergeben sich mindestens zwei Arten von Eigenschaften: solche, die eine einfache, zeit- und eigenschaftslose Verbindung darstellen, und somit immer als einfache owl:ObjectProperty modelliert werden. Was könnte solch eine Eigenschaft sein? Nun, zum Beispiel wenn ich ausdrücken will, dass ich etwas tue, vielleicht einen Ball werfe. Hier bin ich der aktive Part, das können wir mit ex:_BallWurf ex:agent :_Mathias. in RDF ausdrücken. Da niemand während meines Wurfes mit mir den Platz wechselt und die zweite Hälfte des Wurfes ausführt, kann man wohl zumindestens sagen, ich bin und werde immer der einzige Werfer dieses Balles sein. Der Wurf findet zu einer Zeit statt, aber ich nehme die ganze Zeit an dem Wurf teil. Auch wenn wir sagen wollen, dass ich schlecht geworfen habe, dann werden wir dieses ex:_manner ex:_Schlecht an den :_BallWurf hängen, nicht an meine aktive Verwicklung in diesen Wurf. 

    Die andere Art Eigenschaften, sind solche, die nur eine bestimmte Zeit gelten oder für sich selbst wiederum eine Eigenschaft haben. 

    Ein einfaches Beispiel hierfür ist schema:worksFor, eine ObjectProperty von schema.org, die sagen soll, dass jemand für eine Organisation arbeitet.

    Dadurch, dass schema.org diese Beziehung als owl:ObjectProperty ausdrückt, ist es in RDF/OWL unmöglich zu sagen, wie lange jemand in einer Arbeitsposition gearbeitet hat. Oder in welcher Abteilung, oder in welcher Position.

    Das kann für gewisse Anwendungen ausreichen, aber oft ist diese Art von Beziehungen und Eigenschaften besser als owl:NamedIndividual einer bestimmten owl:Class modelliert statt als owl:ObjectProperty. Also statt 

    :_Mathias schema:worksFor :FirmaA 

    besser 

    ex:_EineEindeutigeId rdf:type ex:Arbeitsbeziehung;
      ex:arbeitet ex:_Mathias; 
      ex:zahlt ex:_FirmaA.

    Ein klein wenig aufwändiger, aber jetzt können wir viel mehr über diese Beziehung sagen:

    ex:_EineEindeutigeId rdf:type ex:Arbeitsbeziehung ;
      ex:arbeitet ex:_Mathias ; 
      ex:zahlt ex:_FirmaA ;
      gist:actualStartDateTime "2000-02-02T08:00:00"^^xsd:dateTime ;
      gist:actualEndDateTime "2003-10-30T18:00:00"^^xsd:dateTime ;
      ex:projectName "COMATO" ;
      ex:position ex-pos:SoftwareArchitect .

    which would be impossible if we had stayed with the simple schema:worksFor.

    Übrigens habe ich oben mit dem der Eigenschaft ex:agent getrickst. Auch diese muß nicht ganz so eigenschaftslos sein, das hängt von der Anwendung ab. Wenn ich ausdrücken muß, dass ich den Ball unwillg geworfen habe, oder sogar unter Zwang, dann kann man darüber streiten, ob der Wurf unter Zwang war, oder ob meine Beteiligung als ex:agent die Eigenschaft ex-t:unterZwang bekommen sollte. Ich persönlich glaube, dass es in den allermeisten Fällen reicht, den Wurf als ex-t:unterZwang zu kennzeichnen, denn ich bin ja der einzige ex:agent. Aber was ist, wenn wir eine Teamarbeit beschreiben wollen? Acht Personen rudern ein Boot: wollen wir 8 einzelne ex:_EindeutigeIdee rdf:type ex:rudern ; ex:agent ex:RudererA benutzen, oder ein ex:_EindeutigeID rdf:type ex:gruppenRudern ex:agent (ex:RudererA ex:RudererB ... ex:RudererH) .

German