- 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