Может ли ObjectProperty иметь DatatypeProperty? - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь описать график, используя OWL. Допустим, мне нужны два класса workshop и location, а между ними ребро hasLocation. Могу ли я иметь свойство на hasLocation, которое будет обозначать время, когда workshop произошло на location? Я попытался определить это с помощью Protege, но кажется, что можно определить свойства только для классов.

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете использовать аннотации или штамповка .

Однако свойство аннотации или данных будет свойством hasLocation свойства самого , а не его конкретных случаев. Это ключевое различие между RDF / OWL и LPG.

Я бы предложил использовать более или менее общие методы моделирования. В черепахе:

@prefix : <http://www.semanticweb.org/1226761/ontologies/2018/10/untitled-ontology-6#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

[ rdf:type owl:Ontology ] .

:Workshop rdf:type owl:Class .
:Location rdf:type owl:Class .
:SpatioTemporalExtent rdf:type owl:Class . 

:hasLocation rdf:type owl:ObjectProperty ;
             rdfs:domain :SpatioTemporalExtent ;
             rdfs:range :Location .

:hasSpatioTemporalExtent rdf:type owl:ObjectProperty ;
                         rdfs:domain :Workshop ;
                         rdfs:range :SpatioTemporalExtent .

:hasTime rdf:type owl:DatatypeProperty ;
         rdfs:domain :SpatioTemporalExtent ;
         rdfs:range xsd:dateTime . 

:workshop1 rdf:type owl:NamedIndividual , :Workshop ;
           :hasSpatioTemporalExtent :extent11 .    

:extent11 rdf:type owl:NamedIndividual , :SpatioTemporalExtent ;
          :hasLocation :city1 ;
          :hasTime "2018-05-11T00:00:00"^^xsd:dateTime .

:city1 rdf:type owl:NamedIndividual , :Location .

В качестве альтернативы, с анонимными лицами:

:workshop1 rdf:type owl:NamedIndividual , :Workshop ;
           :hasSpatioTemporalExtent [rdf:type :SpatioTemporalExtent ;
                                     :hasLocation :city1 ;
                                     :hasTime "2018-05-11T00:00:00"^^xsd:dateTime .
                                    ] .

Знаете ли вы, что является причиной запрета свойств на краях?

RDF означает Структура описания ресурса . Первоначально он был предназначен для публикации данных в Интернете. Ресурсы должны иметь URI (ну, если они не литералы). Имущественные случаи не считаются онтологически достаточно прочными, чтобы иметь такие сильные идентификаторы. Например, их число относительно велико… Для сравнения, на английском языке лучше сказать «Я тебя люблю» , чем «Я тебя люблю-5» .

Пустые узлы (с их слабыми идентификаторами) в позиции предиката могут решить эту проблему. Таким образом, остается вопрос, почему пустые узлы не допускаются в позиции предиката (даже для Тим Бернерс-Ли , хотя не для Ману Спорни ).

Я полагаю, что причина в желании не оставлять основание первого порядка навсегда, , имея в виду 'естественный' перевод тройки a b c в FOL как нечто вроде b(a,c). Тогда [] b c можно перевести как ∃x b(x,c), но как насчет a [] c?

...