Giter Site home page Giter Site logo

Comments (4)

rwarren2 avatar rwarren2 commented on July 2, 2024

The thing and the name of the thing are different things.

Most of the examples in the ontology use siteName (#23) or rdfs:label, both of which keep people happy with simplicity but don't deal well with changes to appellation. The nearest property to "also known as" is skos:altLabel which doesn't give you temporal data but is easy to search; this is also what Wikidata is using:
Untitled

In this case are you trying to deal with its change in legal organization, something like the W3 Organization Ontology or FIBO are the answer but that might be overkill.

Graves imports the TIME Ontology and aligns it with the PROV Ontology as per the recommended statements for temporal data. skos-xl provides a basis for a label-as-an-instance but restricts the skos-xl:literalForm property to a singleton which annoyingly prevents multilingual applications. Thus my suggestion is that I create a new class called graves:FeatureName that is a prov:Activity (subclassed from time:TemporalEntity) and a skos-xl:Label. This example is in verbose xml/rdf but you get the idea:

<graves:Cemetery>
 <rdfs:label xml:lang="en">Toowong Cemetery</rdfs:label>
 <rdfs:label xml:lang="en">Brisbane General Cemetery</rdfs:label>
 <skos:prefLabel>
  <graves:FeatureName rdf:about="#brisbane">
   <rdfs:label xml:lang="en">Brisbane General Cemetery</rdfs:label>
   <skos-xl#literalForm xml:lang="en">Brisbane General Cemetery</skos-xl#literalForm>
   <prov:startedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">1871</prov:startedAtTime>
   <time:before rdf:resource="#toowong"/>
  </graves:FeatureName>
 </skos:prefLabel>
 <skos:prefLabel>
  <graves:FeatureNamer df:about="#toowong">
   <time:after rdf:resource="#brisbane"/>
   <rdfs:label xml:lang="en">Toowong Cemetery</rdfs:label>
   <skos-xl#literalForm xml:lang="en">Toowong Cemetery</skos-xl#literalForm>
  </graves:FeatureName>
 </skos:prefLabel>
...
</graves:Cemetery>

Two items of import here:

  1. The proposed graves:FeatureName is just semantic glue for prov:Activity (and time:TemporalEntity by the graves ontology) and a skos-xl:Label. You can get the same result with your own construct but it is redundant.
  2. The concurrent use of prov:Activity and time:TemporalEntity gives you a very large number of options for temporal data: You get startedAtTime and endedAtTime for the label using W3 XML Schemas with their support for truncated date times. You also get all of the power of the TIME Ontology for building complex and relative time descriptions, which include time:before and time:after; this allows you to commit to a sequence of nomenclatures without having to nail down specific dates.

SPARQL and XSD have very specific ideas about how to evaluate truncated representation and not all Inferenceable time comparisons will be resolvable using the partial data that you have, but it fixes most of your day to day problems such as ordering and name display.

Any thoughts?

PS: There can only be one skos-xl#literalForm per skos-xl:Label because of an owl:Restriction which causes problems for multilingual applications. This is at odds with S14: "A resource has no more than one value of skos:prefLabel per language tag". In this case, I'm simply using multiple rdfs:label properties.

from graves.

rwarren2 avatar rwarren2 commented on July 2, 2024

Current thinking:


  <owl:Class rdf:ID="TemporalName">
   <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#"/>
   <rdfs:subClassOf rdf:resource="http://www.w3.org/2008/05/skos-xl"/>
   <rdfs:label xml:lang="en">Name</rdfs:label>
   <rdfs:label xml:lang="fr">Nom</rdfs:label>
   <rdfs:label xml:lang="de">Name</rdfs:label>
   <skos:definition xml:lang="en">The name of a feature, place or thing that has a temporal validity.</skos:definition>
   <skos:definition xml:lang="fr">Le nom d'un toponyme, d'un lieu ou d'une chose qui a une validité temporelle.</skos:definition>
   <skos:definition xml:lang="de">Der Name eines Merkmals, Ortes oder Dings, das eine zeitliche Gültigkeit hat.</skos:definition>
   <rdfs:isDefinedBy rdf:resource="https://rdf.muninn-project.org/ontologies/graves-ONTOLOGY_DATE"/>
   <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
   <void:inDataset rdf:resource="#datasetdefinition"/>
  </owl:Class>

from graves.

Stephen-Gates avatar Stephen-Gates commented on July 2, 2024

Thanks for your very detailed reply. As someone new to linked data, I do not feel qualified to comment on what might be a good solution but what you describe using Time and Prov seems very powerful. I suspect my contributions will be limited to raising issues, questions, and test cases. I'm sorry I can't be more helpful on implementations. I'll continue my learning so perhaps I may be able to contribute in a more meaningful way.

Due to my lack of research, I'm not sure if this example is an alias, simple name change, or something more significant in the operations of the Cemetery (e.g. change in Administrating body - which did happen but I'm not sure if the name change is linked to that event). I'll continue my research to try clarify. At the moment, I'm leaning towards an alias, until I find some evidence.

from graves.

rwarren2 avatar rwarren2 commented on July 2, 2024

OK. skos:altLabel is the way to go for you then.

I'm going to create the TemporalName in v1.5 to fix a few other corner cases.

from graves.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.