You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ju...@apache.org on 2007/06/06 13:48:44 UTC
svn commit: r544815 - in /labs/juuso: main.m rdfs.m
Author: jukka
Date: Wed Jun 6 04:48:43 2007
New Revision: 544815
URL: http://svn.apache.org/viewvc?view=rev&rev=544815
Log:
juuso: Attempt to crack the recursive property definition problem...
Modified:
labs/juuso/main.m
labs/juuso/rdfs.m
Modified: labs/juuso/main.m
URL: http://svn.apache.org/viewvc/labs/juuso/main.m?view=diff&rev=544815&r1=544814&r2=544815
==============================================================================
--- labs/juuso/main.m (original)
+++ labs/juuso/main.m Wed Jun 6 04:48:43 2007
@@ -35,5 +35,5 @@
main(!IO) :-
G = graph.create([ triple(uri("A"), uri("P"), uri("B")),
triple(uri("P"), rdfs("range"), uri("C")) ]),
- solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("B"), X)), Xs),
+ solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("P"), X)), Xs),
io.write(Xs, !IO).
Modified: labs/juuso/rdfs.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdfs.m?view=diff&rev=544815&r1=544814&r2=544815
==============================================================================
--- labs/juuso/rdfs.m (original)
+++ labs/juuso/rdfs.m Wed Jun 6 04:48:43 2007
@@ -33,6 +33,10 @@
:- mode property(in, in, out, out) is nondet.
:- mode property(in, out, out, out) is multi.
+:- pred subproperty(graph, uri, uri).
+:- mode subproperty(in, in, in) is semidet.
+:- mode subproperty(in, in, out) is nondet.
+
:- pred instance(graph, uri, uri).
:- mode instance(in, in, in) is semidet.
:- mode instance(in, in, out) is nondet.
@@ -74,6 +78,17 @@
property(G, S, P, O) :-
contains(G, S, P, O).
+property(G, S, P, O) :-
+ contains(G, S, X, O),
+ subproperty(G, X, P).
+
+subproperty(G, P1, P2) :-
+ property(G, P1, rdfs("subPropertyOf"), P2).
+
+subproperty(G, P1, P2) :-
+ property(G, X, rdfs("subPropertyOf"), P2),
+ subproperty(G, P1, X).
+
instance(G, R, C) :-
property(G, R, rdf("type"), C).
@@ -270,10 +285,6 @@
% related by another.
builtin(rdfs("subPropertyOf"), rdf("type"), rdf("Property")).
-
-%property(G, S, P2, O) :-
-% property(G, P1, rdfs("subPropertyOf"), P2),
-% property(G, S, P1, O).
% A triple of the form:
%
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org