-
Notifications
You must be signed in to change notification settings - Fork 0
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
Dates with relationships in events #5
Comments
Can I have an example record and what you expect the output to look like? |
@wsalesky this example that I just wrote up covers this issue. |
@wsalesky Just to clarify. While dates on events are direct properties, dates on relationships are property qualifiers. swd:person/51 swdt:sender-of-letter-to swd:person/2591 ; I am going to go back to the data a bit on this. You should look for date on the tei:relation element only. I will write a new schematron rule to require dates on tei:relation if they appear on ancestor::tei:event. I've updated 3008 and pushed it to the master branch. |
Okay, how does this look?
|
@wsalesky were so close! This is really looking great. I think there is just a typo on the property statement for event participant. We have two instances of "sp:" where we need "sps:": Also, the dates look good on the relationship but we need to add direct properties connecting the event to the not-before and not-after dates: swd:event3008-1 swdt:not-after "0512"^^xsd:gYear ; |
@dlschwartz Sorry! I'm getting a little confused with the dates. Can you clarify, somehow I have:
But now I don't even know where the 'spq' qualifier is coming from, is it supposed to be 'sp' ? |
@wsalesky I'm sorry, I know this is getting really complicated. Maybe this will help. There is no direct property that is the event. The event can only be the subject or object of a direct property. So an event has a participant, a keyword, a place, etc. It also has a date. Those dates are the objects of direct properties and indicate that an event occurred at a time or within a range of time. As such, dates on events need the whole suite of wikidata triples (I'm not sure how better to express that). In contrast, there is a direct property for relationships. The date indicates when that direct property began, ended, etc. So the direct property "x was-spouse-of y" is only true during certain dates. Those dates qualify when the relationship direct property applies and when it doesn't. This is when we need to use "spq:" for dates. Events: Relationships:
Does that help? |
@dlschwartz
|
@wsalesky we're so close. This factoid is a good example of the issues. If we get this right, I think other things will fall into place. There are two incorrect triples that should be deleted:
Instead of qualifier properties, these should be serialized as two additional direct properties for the date attributes on tei:event. These don't appear in the serialization in the previous comment.
The serialization in your last comment correctly serializes the dates on tei:relation. These should continue to appear alongside the dates on the event above. These are:
|
Like so?
|
@wsalesky we're getting closer still! There are two problems. But let me start with an idea about why this might be causing trouble. Here are the last lines of the above from what you just sent, numbered so they are easier to talk about:
We have what should be tei:event dates and tei:relation dates all mixed together. For the relation, lines 1, 5, 9-11 go together and should all be coming from the tei:relation element. Lines 9-11 contain the three triples of direct property, property, and property statement, with statement instance swds:3008-1?N121182582. Lines 1 and 5 are qualifiers on that statement instance. All of this is correct and should stay the same. Lines 2-4 and lines 6-8 each come close but this data should not be coming from tei:relation/@notBefore and tei:relation/@notAfter. They should be coming from tei:ab/tei:listEvent/tei:event/@notBefore, etc. As with the other data derived from tei:event, each of these should have their own direct property, etc. with unique statement instance. As with the other data derived from the event, the subject item should be swds:event3008-1 and there should be a new, unique statement instance. Currently, the statement instances for lines 2-4 and 6-8 are the same as the statement instance for the relation. If you base the tei:event/@[date attributes] serialization off of the event person, place, and keyword serializations, I think we'll have it. So, lines 2-4 should be
And lines 6-8 should be
The order of the triples obviously doesn't matter, but once the serialization handles these event dates like the other event data, I'm guessing they will appear up above with the other event data and the relation data will appear separately at the bottom. Regardless, the fact that these data appear mixed together and sharing a statement instance is what suggested the approach to a solution I offer above. Thanks Winona! |
I think I got it.
|
@wsalesky It's so close! The dates on the relationship look great! We still have two issues though.
Instead of:
we need:
And instead of
we need:
|
Okay, I got it! Just the relevant lines:
|
@wsalesky just one more change. The not-before and the not-after with swd:event3008-1 have the same statement instance. Those two need to be different. With that, we should be done with these dates. Thanks! |
How is this:
|
@wsalesky That works! Elsewhere we're just generating a unique string for the statement instances with direct properties. Here we've got the notbefore and notafter added to otherwise identical strings to make them unique. That should be fine. The critical things is that they are unique. I think we've got it. Thank you! |
Great! |
@wsalesky things get complicated when dealing with the following path when there is a date attribute on tei:event (@when, @notBefore, @notAfter, @from, @to):
tei:ab[@subtype="event"]//tei:event/tei:desc/tei:listRelation/tei:relation
For the serialization of the event, the dates are direct properties requiring a property statement and the following prefixes swdt:, sp:, and sps:.
For the serialization of the relationship within the event, the dates are qualifier properties and only require a spq: predicate connecting the property statement to the date.
The text was updated successfully, but these errors were encountered: