On 29/04/2021 13:27, Laura Morales wrote:
I have problems with the fact that, in English, words can have multiple
meanings and can also be used as verbs, nouns, etc. In RDF, I feel like I'm
compelled to define a term and its one meaning that is unique across the entire
vocabulary. If I want to use the same term to mean two or more things, I have
to use two dictionaries or I have to come up with weird combinations of
multiple words. You know, like SimpleBeanFactoryAwareAspectInstanceFactory.
I was wondering if there is any way to define a term whose meaning depends on the
context. For example Lorem.foobar and Ipsum.foobar, "foobar" could mean two
entirely different things depending on whether it's a property of the type Lorem or type
Ipsum. AFAIK OWL defines domains/ranges for terms, so maybe these can be used for this
goal? What would be the practical implications, for example if I were to use Fuseki
without an OWL reasoner (ie. just by loading a bunch of triples and start querying with
SPARQL)?
Can you use subproperties?
One point of RDF is to avoid collisions do data can be merged safely.
----
Domain.and range - if there are two declarations then, just like any two
triples, they are both true, not an either-or.
:p rdfs:domain :C .
:p rdfs:domain :D .
:x :p 123 .
=>
:x a :C , :D