cwrc / RDF-extraction

0 stars 0 forks source link

Simple triples is missing data #29

Open alliyya opened 2 years ago

alliyya commented 2 years ago

Task: investigate what components may be currently missing.

Further enhancements are needed to make sure that simple triples are comprehensive for all use cases.

Current Queries (March 11th)

From March 8th

alliyya commented 2 years ago

Schools and some other parts of education may be missing.

Schools are their own entities with typings and need to be handled more similarly to Responses.

alliyya commented 2 years ago

Uncertain if Oeuvres are represented in simple triples

alliyya commented 2 years ago

every entity needs to have an associated type. including places, LOC. etc.

alliyya commented 2 years ago

Current Queries:

Simple Triples:

PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX data: <http://cwrc.ca/cwrcdata/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
CONSTRUCT {
  ?contextFocus ?subjectCentricP ?otherRelations ;
    rdfs:label ?name;
    a ?focusType.
  ?otherRelations rdfs:label ?label;
    a ?type.
}
WHERE {
  VALUES ?nameOfInterest {
    "Yonge, Charlotte"
  }
  GRAPH <http://sparql.cwrc.ca/data/orlando/1.7> {
    {
      ?contextFocus rdfs:label ?nameOfInterest;
                    a ?focusType.
      bind(?nameOfInterest as ?name)
      ?context cwrc:contextFocus ?contextFocus ;
               ?p ?o .
      filter(?contextFocus != ?o) #Getting rid of circular relations
      ?p cwrc:subjectCentricPredicate ?subjectCentricP .
      filter(?p != cwrc:response) # attempt at removing duplicate responses
      optional {
        ?o rdfs:label ?label;
           a ?type.
      }
      bind (?o as ?otherRelations)
    }
    union
    {
      {
        ?o rdfs:label ?nameOfInterest.
        ?context cwrc:contextFocus ?contextFocus ;
                 ?p ?o .
        ?contextFocus rdfs:label ?name;
                      a ?focusType.
        filter(?contextFocus != ?o) #Getting rid of circular relations
        ?p cwrc:subjectCentricPredicate ?subjectCentricP .
        filter(?p != cwrc:response) # attempt at removing duplicate responses
        optional {
          ?context ?p ?otherRelations.
          ?otherRelations rdfs:label ?label.
          ?otherRelations rdf:type ?type
          filter(?contextFocus != ?otherRelations)
        }
      }
    }
    filter(?type != bf:Person) # no bf:person
    filter(?focusType != bf:Person) # no bf:person

  }
}

Responses

PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX data: <http://cwrc.ca/cwrcdata/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
CONSTRUCT {
  ?contextFocus cwrc:hasResponse ?response;
    rdfs:label ?focusName;
    a ?focusType.
  ?response a ?type;
    rdfs:label ?label;
    cwrc:hasResponseRelationTo ?otherRelations.
  ?otherRelations rdfs:label ?relationName;
    a  ?otherRelationsType.
}
WHERE {
  VALUES ?name {
    "Yonge, Charlotte"
  }
  GRAPH <http://sparql.cwrc.ca/data/orlando/1.7> {
    {
      ?context cwrc:response ?response;
               cwrc:contextFocus ?contextFocus.
      ?contextFocus rdfs:label ?focusName;
                    a ?focusType.
      ?response  a ?type;
                 rdfs:label ?label;
                 cwrc:hasResponseRelationTo ?relation.
      ?relation rdfs:label ?name.
      optional {
        ?response cwrc:hasResponseRelationTo ?otherRelations.
        ?otherRelations rdfs:label ?relationName;
                        a  ?otherRelationsType.
      }
    }
    union 
    {
      ?contextFocus rdfs:label ?name;
                    a ?focusType.
      bind (?name as ?focusName)
      ?context cwrc:response ?response;
               cwrc:contextFocus ?contextFocus.
      ?response  a ?type;
                 rdfs:label ?label;
                 cwrc:hasResponseRelationTo ?otherRelations.
      ?otherRelations rdfs:label ?relationName;
                      a  ?otherRelationsType.
    }
    filter(?type != bf:Person)
  }                      .
}
alliyya commented 2 years ago

Awards are missing (Thanks Hannah for catching this)

TODO: Review education triples, there's likely gaps with schools and educational texts.