Re: blank predicates

+1.   Similarly  in www.executable-english.com you can write

this-relationship is a specialization of this-higher-relationship
=================================================================
sibling                                family
marriage                               family
family                                 the class of all relationships


some-relationship1 is a specialization of some-relationship2
that-relationship2 is a specialization of some-relationship3
------------------------------------------------------------
that-relationship1 is a specialization of that-relationship3


some-person is related through some-relationship to some-other-person
that-relationship is a specialization of some-higher-relationship
---------------------------------------------------------------------------
that-person is related through that-higher-relationship to that-other-person


this-person is related through this-relationship to this-other-person
=====================================================================
Fred                           marriage              Jane
Fred                           sibling               John

Cheers, --Adrian

   --- https://www.executable-english.com/demo_agents/DataModelling1.agent

Adrian Walker
Executable English LLC
San Jose, CA, USA
(USA) 860 830 2085 (California time)
https://www.executable-english.com






On Mon, Mar 30, 2020 at 1:20 AM <john.nj.davies@bt.com> wrote:

> Sure - but why would you not instead define a relation called relatedTo of
> which brotherOf etc are all sub-relations?
>
> -----Original Message-----
> From: Patrick J Hayes <phayes@ihmc.us>
> Sent: 29 March 2020 23:24
> To: Hugh Glaser <hugh@glasers.org>
> Cc: Linked Data community <public-lod@w3.org>; Melvin Carvalho <
> melvincarvalho@gmail.com>
> Subject: Re: blank predicates
>
> A simple example. Artificial but it might make the point. Suppose data is
> about familial relationships between people, and about their employment and
> about their income. There is a class of FamilyRelations which includes
> things like brotherOf, sisterOf, motherOf, uncleOf, etc.. Suppose it is
> discovered (perhaps by DNA analysis) that Sue and Bill are related, but we
> do not know exactly how. We can (in RDF or OWL-Full and I think even in
> OWL2-DL using punning, but check that before relying on it) write this
> using two triples
>
> :Sue _:rel :Bill .
> _:rel rdf:type :FamilyRelations .
>
> or, of course, a Skolemization of this.
>
> Pat
>
> > On Mar 29, 2020, at 5:10 PM, Hugh Glaser <hugh@glasers.org> wrote:
> >
> > Maybe someone can help - I still don't get it.
> >
> > What will break in what you want to do if you just give the predicate a
> sensible name?
> >
> > What is the knowledge the triple
> > #A R #B
> > represents?
> > If you can really use a blank node (or skolemsied version, which I
> always much prefer), then I don't see how the triple carries any knowledge.
> > (Unless the skolemised URI is expected to appear somewhere else, which
> > it is implied it will not.) Blank or skolemised sort of says that #A and
> #B are in the same universe/domain of discourse (universal in RDF?) - but
> you can't infer that #A and #C don't have the same relation, which they
> presumably will, in fact?
> > So if I "find" that triple, it can't be telling me anything new at all,
> it seems.
> >
> > On the other hand, if you actually accept that there is some real
> knowledge going on, about the closeness of connection in the mind map, or
> whatever, then the predicate actually does carry knowledge, however little.
> > And so there seems no harm in giving it a meaningful name, which will be
> useful to use for the same other triples that have the same meaning.
> > In fact, as always with identifiers, that should help.
> >
> > As far as replacement is concerned, that gets even weirder for me.
> > I thought RDF was monotonic - don't you just add triples that have the
> further knowledge, when you get that knowledge?
> > Yes, if you want, you can remove the old triples from some document, but
> that should not be a requirement, I would expect.
> >
> > As I said, basically, what will break in what you want to do if you just
> bite the bullet and give the predicate a sensible name?
> >
> > Sorry if this is silly - I'm no theoretician, but the engineering seems
> very straightforward to me.
> >
> > Best
> > Hugh
> >
> >> On 29 Mar 2020, at 17:52, Patrick J Hayes <phayes@ihmc.us> wrote:
> >>
> >> Well, no, even crap URIs don’t change, which is why you gotta be
> >> careful. It depends on what you want to be able to do. If you want to
> >> be able to do (RDFS or OWL-style) reasoning with the ‘blank’
> >> relations and still add information later about the relation, you
> >> should either find a way to use generalized syntax or, probably more
> >> practical, use a recommended form for skolem identifiers, cf
> >> https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#section-skole
> >> mization.  If on the other hand you just want to keep this data on
> >> hold until a real relation comes along, then using a single crap URI
> >> (like the lio:IsRelatedTo that ImageSnippets uses) as a placeholder
> >> should work fine. But you won’t change it, just replace it with a
> >> real one :-)
> >>
> >> Reification does not cut it, by the way, since as pointed out in this
> thread, it doesn't have the same meaning.
> >>
> >> Good luck
> >>
> >> Pat
> >>
> >>
> >>> On Mar 29, 2020, at 11:07 AM, Melvin Carvalho <
> melvincarvalho@gmail.com> wrote:
> >>>
> >>>
> >>>
> >>> On Sun, 29 Mar 2020 at 08:43, Patrick J Hayes <phayes@ihmc.us> wrote:
> >>> Generalized RDF allows blank nodes in relation position, so does N3
> and also ISO Common Logic (all with the same semantics). The various
> suggestions to use a ’crap’ URI such as lio:relation can be seen as
> skolemizations of these bnodes in predicate position. There are independent
> reasons for using generalized RDF syntax in any case, since reasoning is
> incomplete without it. And it is pretty trivial to implement: it amounts to
> not performing some syntax checks that RDF requires.
> >>>
> >>> Thanks Pat, so we could perhaps say 'crap URIs DO change' :P
> >>>
> >>> So I like turtle and N3 alot.  I'd like to use this feature of N3,
> >>> but am probably going to serialize in turtle in the short term
> >>>
> >>> This is exactly the information I wanted
> >>>
> >>> If I have to use a 'crap' URI in turtle, I would want it to say "this
> is a place holder for the equivalent N3 construct".  Could we make that in
> the N3 community group perhaps?
> >>>
> >>> I suppose nothing like that exists right now.  Would it maybe be a
> good idea to collect the different suggestions and see which has mind share
> at the moment?  Perhaps a straw poll.
> >>>
> >>> Regarding reification, that's a nice idea.  I worry about (perhaps
> perceived) added compleity in serialization and querying.
> >>>
> >>> Seems a paradoxical problem.  There are too many ways to name the
> >>> nameless thing! :)
> >>>
> >>>
> >>> Pat Hayes
> >>>
> >>>> On Mar 28, 2020, at 3:52 AM, Melvin Carvalho <
> melvincarvalho@gmail.com> wrote:
> >>>>
> >>>> I am working on a information mapping system (aka mind maps)
> >>>>
> >>>> And I want to have two nodes related to each other
> >>>>
> >>>> #Alice R #Bob
> >>>>
> >>>> In the general sense, the type of relationship (predicate) R is not
> >>>> really known at the time of creation.  My software currently does
> >>>> not allow the labeling of edges is the reason (but hopefully in
> >>>> future it will)
> >>>>
> >>>> I need a way to relate Alice to Bob but I dont have a URI for a
> predicate.
> >>>>
> >>>> Is there something that can operate as a "blank predicate"?
> >>>>
> >>>> Or some existing relations that simply says that two entities or
> linked / related, without yet knowing how they are related?
> >>>
> >>
> >
> > --
> > Hugh
> > 023 8061 5652
> >
>
>
>

Received on Monday, 30 March 2020 14:27:52 UTC