- From: <hans.teijgeler@quicknet.nl>
- Date: Fri, 26 Aug 2022 14:24:31 +0200
- To: "'Harshvardhan J. Pandit'" <me@harshp.com>, <semantic-web@w3.org>
ending with a straightforward reification :( -----Original Message----- From: hans.teijgeler@quicknet.nl <hans.teijgeler@quicknet.nl> Sent: vrijdag 26 augustus 2022 12:57 To: 'Harshvardhan J. Pandit' <me@harshp.com>; 'semantic-web@w3.org' <semantic-web@w3.org> Subject: RE: RDF validity question Hi Harsh, Thank you. You remembered correctly: a ValveActuator is a subClassOf Actuator, see for example https://engineerscommunity.com/t/control-valve-actuator/9790 The age-old problem with rdf:Property is, that where is defines an information there is no way to tell something *about* that information, such as: - from when on was that valid information ? - what is the status of that information (estimated, calculated, definitive) ? - what are the access rights to that information ? - etc I have been puzzled by the thesis that relations can't be treated like classes, where in fact the are classes. Many years ago I copied this example of rdf:Predicate from the applicable Recommendation and it still puzzles me: <rdf:Statement rdf:about="#triple12345"> <rdf:subject rdf:resource="http://www.example.com/2002/04/products#item10245"/> <rdf:predicate rdf:resource="http://www.example.com/terms/weight"/> <rdf:object rdf:datatype="&xsd;decimal">2.4</rdf:object> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/> </rdf:Statement> or, converted: ex:triple12345 a rdf:Statement ; rdf:subject prod:item10245 ; rdf:predicate terms:weight ; rdf:object "2.4"^^xsd:decimal ; dc11:creator staff:85740 . Since when do triples get an ID like triple12345 ? Looking at that it has, formatwise, a strong resemblance with my: ex:76329 rdf:type ont:valveHasActuator ; rdfs:domain ex:34543 ; # myValve rdfs:range ex:84128 ; # myValveActuator meta:effectiveDate "2022-08-24T10:42:00Z"^^xsd:dateTime . which could be rephrased as: ex:76329 rdf:type rdf:Statement ; rdf:predicate ont:valveHasActuator ; rdf:subject ex:34543 ; # myValve rdf:object ex:84128 ; # myValveActuator meta:effectiveDate "2022-08-24T10:42:00Z"^^xsd:dateTime . Would that be OK then? Regards, Hans ________________________________________________________ -----Original Message----- From: Harshvardhan J. Pandit <me@harshp.com> Sent: vrijdag 26 augustus 2022 10:02 To: semantic-web@w3.org Subject: Re: RDF validity question Hi. A different perspective - maybe this is simpler using a different ontological model? E.g. ex:76329 rdf:type ont:ValveActuator ; ex:hasValve ex:34543 ; # myValve ex:hasActuator ex:84128 ; # myValveActuator meta:effectiveDate "2022-08-24T10:42:00Z"^^xsd:dateTime . rdl:Valve, rdl:Actuator rdfs:subClassOf rdl:Part . rdl:Part rdfs:subClassOf rdl:Artefact . This is based on interpreting Valves, Actuators, and ValveActuators as separate parts. Though from what I remember, ValveActuators are a type of actuators rather than a separate part connecting valves to actuators, so this could be a more consistent representation of that: ex:34543 a rdl:Valve ; ex:hasActuator ex:84128 . ex:84128 a rdl:Actuator ; ex:isActuatorForValve ex:34543 . Where ex:hasActuator and ex:isActuatorForValve are subproperties of ex:hasPart with domain/range Valve to Actuator and vice-versa respectively. Regards, Harsh On 26/08/2022 07:55, Pierre-Antoine Champin wrote: > > On 25/08/2022 23:31, Mark Wallace wrote: >> >> No. In short, ranges and domains are for stating things about >> properties (Tbox/schema) and not about instances of classes. >> >> If you want to reify the predicate, you could do so using: >> >> 1. rdf:Statement in RDF >> 2. owl:Axiom in OWL2, >> 3. define your owl owl:Class that will represent the relationship. >> E.g. my:HasPartRelation a owl:Class, with possible subclass >> HasActuatorRelation or some such. >> > +1 to what Mark wrote. > > A possible 4th alternative is to use RDF-star [1], although it is not > yet an official standard, and its inter-relation with OWL are not yet > specified. > > Your example in Turtle-star would look like that: > > ex:34543 ont:valveHasActuator ex:84128 {| > meta:effectiveDate "2022-08-24T10:42:00Z"^^xsd:dateTime > |}. > > [1] https://www.w3.org/2021/12/rdf-star.html > >> What is it you want your date/time to indicate? >> >> Very respectfully, >> >> Mark >> >> *From:* hans.teijgeler@quicknet.nl <hans.teijgeler@quicknet.nl> >> *Sent:* Thursday, August 25, 2022 2:27 PM >> *To:* semantic-web@w3.org >> *Subject:* RDF validity question >> >> Hi, >> >> I am trying to reify predicates in a different way, and I need to >> know whether this is valid RDF. >> >> Assume I define an rdf:Property: >> >> ont:hasPart >> >> rdf:type owl:ObjectProperty ; >> >> rdfs:domain rdl:Artefact ; >> >> rdfs:range rdl:Artefact . >> >> ont:valveHasActuator >> >> rdf:type owl:ObjectProperty ; >> >> rdfs:subPropertyOf ont:hasPart ; >> >> rdfs:domain rdl:Valve ; >> >> rdfs:range rdl:ValveActuator . >> >> Then I have project information that tells that individual valve >> actuator 84128 is a part of individual valve 34543, effective that >> dateTime. >> >> ex:76329 >> >> rdf:type ont:valveHasActuator ; >> >> rdfs:domain ex:34543 ; # myValve >> >> rdfs:range ex:84128 ; # myValveActuator >> >> meta:effectiveDate "2022-08-24T10:42:00Z"^^xsd:dateTime . >> >> Is this semantically and syntactically correct RDF? (it passed the >> syntactic test). >> >> I hope to hear from you! >> >> (sorry Guus, I need the answer asap) >> -- --- Harshvardhan J. Pandit, Ph.D Research Fellow ADAPT Centre, Trinity College Dublin https://harshp.com/
Received on Friday, 26 August 2022 12:24:48 UTC