-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Temporal Entities and OWL Time #25
Comments
While it could be neutral, in the end we propose to use the OWL time Ontology. It is probably useful to say why we think this is a good choice: e.g. it has the instants/intervals we need, it is already in the realm of RDF, and it is sort of standard |
There is really a lot of work in involved in specifying what might constitute an appropriate set of temporal entities while remaining neutral about a temporal ontology. So if you are going to end up using the OWL Time ontology in the end, why go to the trouble of allowing others? BTW, there are some other very good temporal ontologies out there (e.g. http://www.omg.org/spec/DTV/1.0/). I thought this was the reason for remaining neutral about the temporal ontology. |
Further point - The value space of XSD temporal literals is not a subclass of owltime:TemporalEntity, as far as I can tell. So even if we restrict ourselves to the OWL Time ontology, I don't think it is correct to say that timestamps are owltime:TemporalEntities, assuming we want to allow these xsd:dateTime values as timestamps. |
I wouldn't just restrict to OWL time. I just say it can be a good model. So I would think that the reference to the OWL time could be changed so that we say it is a good example. And we could add other time conceptualizations as well. |
Here is a useful reference http://www.ihmc.us/users/phayes/docs/timeCatalog.pdf |
it would be helpful to call out the ontologies which are allowed and to define the comparison and/or promotion operators why apply between the respective domains in order to that the merge and union operators are defined for those domains in combinations. |
I believe the idea is not to limit the temporal ontologies that are allowed in general, but for each timestamp predicate to choose exactly one temporal ontology, and more precisely to specify the range (in the RDFS sense) of each timestamp predicate to be a particular class within a particular temporal ontology. Here are some different possible ranges for timestamp predicates:
Older temporal ontologies include:
One thing that needs to be made clear is that alignment between different temporal ontologies is out of scope for RSP-QL. This is not our job, anymore than it is our job to create temporal ontologies. Second, some clarification on timestamp predicates. The idea is that a timestamp predicate specifies its range (as in RDFS) to be a particular class of temporal entities, and also specifies the temporal order on that range. For example the PROV-O property prov:generatedAt has range xsd:dateTime. If we will use that as a timestamp predicate, we (RSP-QL community) must specify the partial order (in the value space) that will determine if a particular sequence of timestamped graphs is an RDF stream. This should not be too hard, but it must be explicitly stated because it is not specified by the XSD Datatypes specification. Third, regarding merge and union. There is a pull request (#39) that is intended to better define merge and union. Briefly, these are defined as relations between RDF streams rather than functional operators in the usual sense. The intention is to separate the concerns regarding the syntactic joining of the elements of two streams from the semantic conditions that determine whether a sequence of timestamped graphs is an RDF stream. Please refer to that for more details on the definition of merge and union. However, in regard to aligning between different temporal ontologies: If two timestamped graphs have timestamps coming from different temporal ontologies, one of two things must be happening. (1) They have different timestamp predicates. That means they can occur in arbitrary relative order within the stream. (2) They have the same timestamp predicate. In this case, the timestamp predicate must explicitly allow entities from the two ontologies in the range of the predicate. In that case the alignment between the two ontologies must be declared when the partial order for this timestamp predicate is defined. Finally, I would argue against timestamp predicates of the second kind. Rather than mixing temporal ontologies together for a single predicate, it would be better, IMHO, to perform a translation (through an RSP-QL query) from one temporal ontology to another. That is, if one stream uses prov:generatedAt and a second stream uses a different timestamp predicate with the same "meaning" but different timestamp class, then one stream should be converted to the other timestamp predicate before merging. |
this is exactly the position which my comment intends to question. while the approach simplifies the formal model, but introduces a step which any production implementation would likely treat as gratuitous, to be replaced by a mechanism which follows the implications of promotion or transformation rules between the respective domains. rather than require the explicit transformation through a query, it would be better to sanction a means to declare, for example, that the values of an xsd:dateTime domain are comparable with the values associated with the time:inXSDDateTime predicate of an time:Instant domain. |
We haven't gotten into these details yet about how to specify the partial order that is associated with a timestamp predicate. It is actually the subject of a different issue #26. Lets move the discussion of defining timestamp predicate range and comparing temporal entities to that issue, and leave this issue to be about what temporal entities are allowed in general. The key question for this issue was about committing to OWL-TIME exclusively versus allowing other temporal ontologies. So far, no one has argued in favor of committing to OWL-TIME exclusively. |
Just from a pragramic point of view: what would be a disadvantage if we fully commit to OWL-TIME? okay, it would make out approach dependent from OWL-TIME which we may want to avoid. However, if it's possible to cover all the cases we need with OWL-TIME then I think there's nothing against committing to it.. |
the representation is more complex than would be required by some use cases. |
As far as i understand, if OWL time is used, the graph timestamps would be something like this: :g1 :p :t1. :t1 :inXSDDateTime 2016-01-01T10:30:00-1:00. While in some use cases you would like to just use the xsd datetime value instead of the OWL-Time instant :t1. |
yes, that is the consequence. an extra statement and, effectively, an extra join for all processing steps. while the owl time schema would facilitate presentations and interfaces, in that can afford direct access to the constituent properties through an associated time:DateTimeDescription and that value, in turn, includes a property for the unit, temporal stream processing would most likely depend on some internal representation for the associated :inXSDDateTime value, in which context the rest of the content would be redundant. |
Here is another ontology with some temporal aspects to it: http://www.heppnetz.de/ontologies/goodrelations/v1.html#OpeningHoursSpecification |
One thing the the temporal entities of OWL-TIME does allow, that is not possible with xsd:dateTime, is to refer to some temporal entity for which you don't have complete information, but you might know it is before or after certain other temporal entities. This is a usecase that has been raised by @kiat . |
is it included in https://www.w3.org/community/rsp/wiki/Use_cases ? |
Not there (yet). It is related to this https://www.w3.org/community/rsp/wiki/Semantic_CEP |
for the moment, mostly, to be defined. |
Statements like "temporal stream processing would most likely depend on some internal representation for the associated :inXSDDateTime value, in which context the rest of the content would be redundant." concern me. I hope that this effort is not leading to temporal stream proccessing that ignores the semantics of the stream, where the "rest of the content" is not at all redundant. For example, the identifier (IRI or blank node) of the temporal entity may be used elsewhere in that timestamped graph, or in another timestamped graph in the stream. I think it would be helpful to define some more subclasses (profiles) of RDF streams that have the characteristics necessary for certain processing (= reasoning) methods, and avoid making general assumptions about how stream processing will be done. |
I totally agree on both the points of the last paragraph of Tara's mail, on Daniele Il giorno Mar 23 Feb 2016 15:39 Tara Athan [email protected] ha
Sent from my Android phone. Please excuse my brevity. |
if you take the statement out of context, rather than as a continued response to the the question
it really should not concern you as it does not have any value at all. |
@lisp I didn't mean to take your statement out of context, but I think I did misunderstand it. If you are considering a case when the stream uses time instants just as an intermediary to get to an xsd:dateTime value, and never for anything else, then I agree the time instants are redundant. |
More information on time ontologies: (from Michael Gruninger of University of Toronto) The relevant hierarchies are |
Please consider the latest effort of standardising Time Ontology at http://w3c.github.io/sdw/time/ |
There is an ambiguity or inconsistency in the Abstract Syntax and Semantics document regarding temporal entities. The section "Temporal Entities" says the specification is neutral in regard to temporal ontologies. The section "Instants and Intervals" references the OWL Time Ontology.
The text was updated successfully, but these errors were encountered: