1

次のようなオントロジーがあります。

  • クラスエージェントとクラスアクション
  • データ プロパティのリスト (データ プロパティの制限プロパティを継承する) には、(エージェントとアクション) のドメイン UNION と範囲プリミティブ (例 hasMoney、hasTime) があります。

ag はエージェント、ac はアクション インスタンスです。

これらの条件にはいくつかの事柄があることに注意してください。

  • 比較は常に同じプロパティ ag.hasTime >= ac.hasTime 間で行われます
  • RestrictionProperty を継承するすべての dataProperty は同じ扱いになります。
  • この条件を満たすすべてのエージェントは、たとえばクラス AgentRestrictions に属します。

SWRLは標準ではなく、SPARQLでいつでも実行できると読んだので、SWRLを使用したくありません。

SPARQLでできると思いますが、どうすればよいかわかりません。しかし、私は被保護者をクリックするソリューションを好みます。または公理で仕様を作成します。

4

1 に答える 1

0

次のような意味だと思います。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX urPrefx :<http://YOUR ONTOLOGY PATH HERE>
SELECT ?r (COUNT( DISTINCT ?r) AS ?countNo)
WHERE
{   
    #Query 1.1 Where urPrefx:greaterOrEqualThan is a restricted property
    ?data_property_individual_categorie rdfs:subPropertyOf urPrefx:greaterOrEqualThan.

    #Query 1.2 Get all the action classes with those restricted property
    {SELECT DISTINCT * WHERE {?individuals_actions rdf:type ?ActionsClasses.?individuals_actions ?data_property_individual_categorie ?values_action}}

    #Query 1.3 Get all the agents with those restricted property
    {SELECT DISTINCT * WHERE {?individuals_agents rdf:type ?AgentClasses. ?individuals_agents ?data_property_individual_categorie ?values_agent}}

    #Get all No and Yes
    BIND(if( ?values_agent >=?values_action, urPrefx:Yes, urPrefx:No) AS ?r).
}GROUP BY ?r

指定する必要があるのは、YES と NO だけです。あなたはそれで何をしたいですか。コマンド CONSTRUCT を使用して、AgentRestrictions クラスに割り当てる必要があります。

于 2014-05-14T11:04:24.903 に答える