Я хочу перечислить людей, чей отпуск совпадает по дате и месту.Например,
, поэтомуЯ хочу создать триплет типа
JohnDoe mightSeeTo JaneDoe
Каков наилучший способ разработки онтологии для упрощения запросов, связанных со временем?Как с помощью SPARQL решить эту (примерную) проблему запроса?
@prefix : <http://www.localhost/ns#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix v: <http://www.w3.org/2006/vcard/ns#> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> . @prefix time: <http://www.w3.org/2006/time#> . <http://www.localhost/ns> a owl:Ontology; rdfs:label "Sample Ontology". :Person rdf:type owl:Class. :Hotel rdf:type owl:Class . :book rdf:type owl:ObjectProperty ; rdfs:domain :Person ; rdfs:range :Hotel . :vacationStartDate rdf:type owl:DatatypeProperty ; rdfs:domain :Person ; rdfs:range xsd:date . :vacationEndDate rdf:type owl:DatatypeProperty ; rdfs:domain :Person ; rdfs:range xsd:date . ###Dis :Person owl:disjointWith :Hotel . ###INDIV :P1 a :Person . :P2 a :Person . :P3 a :Person . :L1 a :Hotel . :L2 a :Hotel . :L3 a :Hotel . :P1 :vacationStartDate "2019-09-10" . :P1 :vacationEndDate "2019-09-25" . :P1 :book :L1 . :P2 :vacationStartDate "2019-09-10" . :P2 :vacationEndDate "2019-09-25" . :P2 :book :L1 . :P3 :vacationStartDate "2019-09-01" . :P3 :vacationEndDate "2019-09-30" . :P3 :book :L2 .